[問題] 關於使用OpenCv連續拍照的問題已刪文

看板Python作者時間7年前 (2018/07/11 16:18), 編輯推噓0(005)
留言5則, 2人參與, 7年前最新討論串1/1
最近在使用OpenCv拍照7 不過在拍照的時候遇到了一個奇怪的問題 程式碼的部分在這裡: cap = cv2.VideoCapture(2) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) cap.set(cv2.CAP_PROP_FRAME_HEIGHT,1080) while True: ret, frame = cap.read() target = frame.copy() cv2.line(frame,(960,0),(960,1080),(255,0,255),1) cv2.line(frame,(0,540),(1920,540),(255,0,255),1) #在畫面中劃十字的輔助線 cv2.imshow("capture", frame) key=cv2.waitKey(1) if key & 0xFF == ord('c'): for n in range (10): cv2.imwrite("%s.jpg" %(time.time()), target ) cv2.waitKey(2000) elif key & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() cap.release() cv2.destroyAllWindows() 我希望是說按下c鍵之後 可以每隔2000ms就拍一張照片共拍10張 但是 按下c鍵之後 他的畫面(frame)就暫停不會動了 然後接著就連拍了10張一樣的照片 但是我要拍拍的東西是會動的 想請問這種問題要怎麼解? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.105.133.228 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1531297093.A.C74.html

07/11 16:37, 7年前 , 1F
要有跑到 ret, frame = cap.read() 才會讀新的圖片進來
07/11 16:37, 1F

07/11 16:40, 7年前 , 2F
你可以把for迴圈拿掉,改成用index控制是否存圖
07/11 16:40, 2F

07/11 16:41, 7年前 , 3F
例如在while外面設定一個n=0,然後按下c時設定n=10
07/11 16:41, 3F

07/11 16:42, 7年前 , 4F
然後用 if n>0: 存圖並n=n-1
07/11 16:42, 4F

07/11 17:31, 7年前 , 5F
至少要把cap.read()放到迴圈裡面
07/11 17:31, 5F
文章代碼(AID): #1RHRr5nq (Python)
文章代碼(AID): #1RHRr5nq (Python)