我想從Python訪問我的攝像頭。如何在Python中訪問我的攝像頭?
我嘗試使用VideoCapture擴展(tutorial),但是這並沒有爲我工作得非常好,我必須解決一些問題,因爲它是一個有點慢,分辨率> 320x230,有時它沒有返回None
明顯的原因。
有更好的方式從Python訪問我的攝像頭嗎?
我想從Python訪問我的攝像頭。如何在Python中訪問我的攝像頭?
我嘗試使用VideoCapture擴展(tutorial),但是這並沒有爲我工作得非常好,我必須解決一些問題,因爲它是一個有點慢,分辨率> 320x230,有時它沒有返回None
明顯的原因。
有更好的方式從Python訪問我的攝像頭嗎?
OpenCV支持從網絡攝像頭獲取數據,默認情況下它帶有Python包裝,您還需要爲OpenCV Python擴展(稱爲cv2
)安裝numpy
才能工作。
在撰寫本文時(2015年1月)還沒有Python 3支持,因此您需要使用Python 2.
More information on using OpenCV with Python。
一個例子來自Displaying webcam feed using opencv and python複製:
import cv2
cv2.namedWindow("preview")
vc = cv2.VideoCapture(0)
if vc.isOpened(): # try to get the first frame
rval, frame = vc.read()
else:
rval = False
while rval:
cv2.imshow("preview", frame)
rval, frame = vc.read()
key = cv2.waitKey(20)
if key == 27: # exit on ESC
break
cv2.destroyWindow("preview")
我使用的唯一一個是VideoCapture,你已經說過你不喜歡(雖然我與它沒有任何問題,你遇到什麼錯誤?)
我無法找到任何過去或現在的替代品,所以你可能會被卡住或者使用VideoCapture,或者找到一個很好的C庫併爲它寫一個Python包裝器(這可能比你願意投入的更多工作)。
好的,編輯問題來定義我發現的問題。 – Rodrigo 2009-03-03 02:27:45
gstreamer可以處理攝像頭輸入。如果我記得很清楚,它有python綁定!
這應該已經到@約翰蒙哥馬利評論,但我的代表處不允許我做出評論。 你的回答是偉大的,但至少在Windows上,它缺少線
cv2.destroyWindow("preview")
沒有它,相機資源被鎖定
vc.release()
之前,不能被蟒蛇前再次捕獲控制檯被殺害。
請說明您需要支持哪些操作系統。 – 2009-03-03 03:04:12
另請參閱:[用於拍攝相機圖像的Python庫](http://softwarerecs.stackexchange.com/q/18134/1834) – 2016-04-28 10:09:44
和:[爲什麼用Python拍攝的攝像頭圖像太暗?](http:// stackoverflow .com/q/28566972/562769) – 2016-04-28 10:10:09