這隻程式原本是啟動自己的相機
cap = cv2.VideoCapture(0)
但現在我想要用讀取影片的方式
影片可以出來但一樣播完之後錯誤就出現了
下面是程式碼跟要圖取的影像(.avi)資料夾位置
希望大師們可以幫幫忙 謝謝
有嘗試將路徑改成cap = cv2.VideoCapture('E:\\Computer\\Final\\color_recognition-master\\src\\3.avi')
但跟上面一樣影片可以出來但一樣播完之後錯誤就出現了
while True:
# Capture frame-by-frame
(ret, frame) = cap.read()
改成這樣試試,應該可以(?
while cap.isOpened():
# Capture frame-by-frame
(ret, frame) = cap.read()
因為你是影片所以會有 "沒有下一個frame"(結尾) 的問題。
如果是攝影機,在你關閉攝影機前都不會遇到這個問。
您好,將True改成cap.isOpened()後,確實沒有錯誤出現
但是執行得程式會在播完後沒有回應然後死當
請問有方法在影片播完後就自行結束程式嗎?謝謝
改2個地方
cap = cv2.VideoCapture('3.avi')
frame_end = cap.get(cv2.CAP_PROP_FRAME_COUNT)
while cap.isOpened():
(ret, frame) = cap.read()
frame_count = cap.get(cv2.CAP_PROP_POS_FRAMES)
if frame_count == frame_end:
print("影片讀取完畢")
break
謝謝