目錄:
(一)調用攝像頭或打開視頻文件代碼實現
(二)說明和補充
(一)調用攝像頭或打開視頻文件代碼實現
1 # -*- coding=GBK -*- 2 import cv2 as cv 3 4 5 #打開攝像頭獲取圖片 6 def video_demo(): 7 capture = cv.VideoCapture(0)#打開攝像頭,0代表的是設備id,如果有多個攝像頭,可以設置其他數值 8 while True: 9 ret, frame = capture.read() #讀取攝像頭,它能返回兩個參數,第一個參數是bool型的ret,其值為True或False,代表有沒有讀到圖片;第二個參數是frame,是當前截取一幀的圖片 10 frame = cv.flip(frame, 1)#翻轉 等於0:逆時針180度旋轉, 大於0:正常 ,小於0上下顛倒 11 cv.imshow("video", frame) 12 if cv.waitKey(10) & 0xFF == ord('q'): #鍵盤輸入q退出窗口,不按q點擊關閉會一直關不掉 也可以設置成其他鍵。 13 break 14 15 16 video_demo() 17 cv.destroyAllWindows()
(二)代碼實現說明和補充
1. c = cv.waitKey(40) if c == 27 和cv.waitKey(10) & 0xFF == ord('q') 兩者之一是必須要否則會報錯,c == 27 時是用esc關閉的 ,點窗口的×是不能關閉視頻窗口的。
2.函數:VideoCapture(0)
打開攝像頭,0代表的是設備id,如果有多個攝像頭,可以設置其他數值
也可以是視頻文件地址,調用視頻文件,如果要播放要設置幀的循環
3.函數:read()
讀取攝像頭,它能返回兩個參數,第一個參數是bool型的ret,其值為True或False,代表有沒有讀到圖片;第二個參數是frame,是當前截取一幀的圖片
4. 函數:frame = cv.flip(frame, 1)
表示翻轉
等於0:逆時針180度旋轉,
大於0:正常 ,
小於0上下顛倒
參考:
https://blog.csdn.net/u011321546/article/details/79516505
