現在、円をリアルタイムで検出し、何秒円が存在していたかを測定するプログラムを作成しています。
以下が作製したプログラムです。
python
1import numpy as np 2import cv2 3import time 4import csv 5 6cap = cv2.VideoCapture(1) 7while True: 8 9 ret, frame = cap.read() 10 gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) 11 gray = cv2.GaussianBlur(gray, (33,33), 1) 12 circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 60, param1=10, param2=85, minRadius=0, maxRadius=85) 13 if circles is not None: 14 start = time.time() 15 circles = np.uint16(np.around(circles)) 16 for i in circles[0,:]: 17 cv2.circle(frame,(i[0],i[1]),i[2],(0,0,255),2) 18 cv2.circle(frame,(i[0],i[1]),2,(0,0,255),3) 19 20 if circles is None: 21 elapsed_time = time.time() - start 22 print("elapsed_time:{0}".format(elapsed_time) + "[sec]") 23 24 25 26 cv2.imshow('preview', frame) 27 key = cv2.waitKey(10) 28 if key == ord("q"): 29 break 30cv2.destroyAllWindows() 31 32 33 34コード
円を検出したときを計測スタートの時間とし、円がなくなったとき計測終了の時間にすることで、円の出現時間を測定するようにしたいのですが、円がなくなった時に計測終了の時間にする方法が分かりません。私なりに考えて作成したのですが、上記のプログラムでは円の検出まではできても、そこから時間計測ができませんでした。円が現れて消えるまでの時間を測定するプログラムを作るのに使える良いサンプルコードはありませんか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。