Python-OpenCV学习 -- 台式机外接USB摄像头的视频读取
一、網(wǎng)上很多筆記本帶有內(nèi)置攝像頭的 代碼讀取案例。例如:讀取內(nèi)置攝像頭的Python- OpenCV代碼
import cv2
#引入庫
cap = cv2.VideoCapture(0)
while True:
? ? ret, frame = cap.read()
? ? cv2.imshow("Video", frame)
#讀取內(nèi)容
? ? if cv2.waitKey(10) == ord("q"):
? ? ? ? break
? ? ? ??
#隨時(shí)準(zhǔn)備按q退出
cap.release()
cv2.destroyAllWindows()
#停止調(diào)用,關(guān)閉窗口
?
二、如果是外接USB的話,
將
cap = cv2.VideoCapture(0)
改成
cap = cv2.VideoCapture(1)
,如果有多個(gè)攝像頭,考慮將 1 改成 2 或3等。
?
三、臺(tái)式機(jī)一般沒有攝像頭,需要外接USB攝像頭,需要注意,cap = cv2.VideoCapture(0) 里面的參數(shù)不是1,不是1, 是0,否則報(bào)錯(cuò)
測(cè)試代碼:
import cv2# 調(diào)用usb攝像頭 cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 480) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 640)cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc("M", "J", "P", "G")) # 顯示 while True:ret, frame = cap.read()cv2.imshow("Video Display", frame)cv2.imshow("Video Display2", frame)cv2.imshow("Video Display3", frame)cv2.imshow("Video Display4", frame)cv2.imshow("Video Display5", frame)cv2.imshow("Video Display6", frame)if cv2.waitKey(1) & 0xFF == ord("q"):break# 關(guān)閉 cap.release() cv2.destroyAllWindows()如果測(cè)試時(shí),報(bào)錯(cuò),可能是攝像頭分辨率參數(shù)不對(duì),以上的480寬度,640高度是從攝像頭的參數(shù)上看到的。 如果攝像頭上沒有標(biāo)出參數(shù),可以通過以下代碼獲取:
import cv2videoCaputer = cv2.VideoCapture(0)size = (int(videoCaputer.get(cv2.CAP_PROP_FRAME_HEIGHT)), int(videoCaputer.get(cv2.CAP_PROP_FRAME_WIDTH))) print(size) #錯(cuò)誤結(jié)果(480,640)# 只要set下,貌似size就發(fā)生了變化 videoCaputer.set(cv2.CAP_PROP_FRAME_WIDTH,5000) videoCaputer.set(cv2.CAP_PROP_FRAME_HEIGHT,5000)size = (int(videoCaputer.get(cv2.CAP_PROP_FRAME_HEIGHT)), int(videoCaputer.get(cv2.CAP_PROP_FRAME_WIDTH))) _,frame = videoCaputer.read() print(size) # 正確結(jié)果(1024,1280) print(frame.shape)# 正確結(jié)果(1024,1280, 3)參考鏈接:?https://www.jianshu.com/p/3b42df1850b2
但有時(shí)測(cè)試時(shí),這段代碼也能用。也能讀取臺(tái)式機(jī)外接USB攝像頭的圖像。
import cv2
#引入庫
cap = cv2.VideoCapture(0)
while True:
? ? ret, frame = cap.read()
? ? cv2.imshow("Video", frame)
#讀取內(nèi)容
? ? if cv2.waitKey(10) == ord("q"):
? ? ? ? break
? ? ? ??
#隨時(shí)準(zhǔn)備按q退出
cap.release()
cv2.destroyAllWindows()
#停止調(diào)用,關(guān)閉窗口
?
四、參考鏈接:
Python+Opencv 調(diào)用USB攝像頭(一)https://blog.csdn.net/Programmer_ch/article/details/89057129
Python+Opencv 調(diào)用USB攝像頭(二)?https://blog.csdn.net/Programmer_ch/article/details/89429677
總結(jié)
以上是生活随笔為你收集整理的Python-OpenCV学习 -- 台式机外接USB摄像头的视频读取的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器人学习--Imperial Coll
- 下一篇: Python-OpenCV学习--USB