調用內建或外接usb的webCam大概是openCV應用上最常用到的一步。
開啟影片和使用視訊鏡頭第一步就是使用函式 cap = cv2.VideoCapture()
如果是要開啟影片,則函式輸入參數是要開啟影片的名稱或其絕對路徑。
如果是要調用視訊鏡頭的話,則輸入參數放0就好了。
要知道有沒有正確開啟影片或調用視訊,可使用函式 cap.isOpened()
若正確開啟後,要一張一張讀出畫面的話: ret, frame = cap.read()
如果畫面讀取成功的話,ret會得到True的值。
如果讀取畫面失敗,通常是讀完所有的畫面了,ret 得到False的值。
通常一般的影片每秒是30張frames,所以在播放速度上,可以用cv2.waitKey調整秒數。
在設計上,也可以設定按"q"鍵來結束播放。
import cv2
cap = cv2.VideoCapture("test.mp4")
if(cap.isOpened()):
print("Video opened")
while(cv2.waitKey(33) != ord('q')):
ret, frame = cap.read()
if ret == False:
print("Video ends")
break
cv2.imshow("Video",frame)
else:
print("Opening video failed")
cap.release()
cv2.destroyAllWindows()
如果只是調用webCam的話,程式可以更精簡一點:
import cv2
cap = cv2.VideoCapture(0)
if(cap.isOpened()):
print("webCam opened")
while(cv2.waitKey(3) != ord('q')):
ret, frame = cap.read()
cv2.imshow("webCam",frame)
else:
print("Opening webCam failed")
cap.release()
cv2.destroyAllWindows()
沒有留言:
張貼留言