我想从Python访问我的网络摄像头.
我尝试使用VideoCapture扩展(教程),但这对我来说效果不好,我不得不解决一些问题,例如它的分辨率> 320x230有点慢,有时它None没有明显的原因返回.
有没有更好的方法从Python访问我的网络摄像头?
Joh*_*ery 59
OpenCV支持从网络摄像头获取数据,默认情况下它附带Python包装器,您还需要安装numpyOpenCV Python扩展(称为cv2)才能工作.
在撰写本文时(2015年1月),还没有Python 3支持,因此您需要使用Python 2.
从使用opencv和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")
Run Code Online (Sandbox Code Playgroud)
Rob*_*ert 14
这应该是对@John Montgomery的评论,但我的代表不允许我发表评论.你的答案很棒,但至少在Windows上,它缺少这条线
vc.release()
Run Code Online (Sandbox Code Playgroud)
之前
cv2.destroyWindow("preview")
Run Code Online (Sandbox Code Playgroud)
没有它,相机资源被锁定,并且在python控制台被杀死之前无法再次捕获.
| 归档时间: |
|
| 查看次数: |
125457 次 |
| 最近记录: |