当前位置:  开发笔记 > 编程语言 > 正文

如何在Python中访问我的网络摄像头?

如何解决《如何在Python中访问我的网络摄像头?》经验,为你挑选了2个好方法。

我想从Python访问我的网络摄像头.

我尝试使用VideoCapture扩展(教程),但这对我来说效果不好,我不得不解决一些问题,例如它的分辨率> 320x230有点慢,有时它None没有明显的原因返回.

有没有更好的方法从Python访问我的网络摄像头?



1> John Montgom..:

OpenCV支持从网络摄像头获取数据,默认情况下它附带Python包装器,您还需要安装numpyOpenCV Python扩展(称为cv2)才能工作.
在撰写本文时(2015年1月),还没有Python 3支持,因此您需要使用Python 2.

有关在Python中使用OpenCV的更多信息.

从使用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")


如果从wheel安装,则支持Python 3.我成功使用了本教程:https://www.solarianprogrammer.com/2016/09/17/install-opencv-3-with-python-3-on-windows/

2> Robert..:

这应该是对@John Montgomery的评论,但我的代表不允许我发表评论.你的答案很棒,但至少在Windows上,它缺少这条线

vc.release()

之前

cv2.destroyWindow("preview")

没有它,相机资源被锁定,并且在python控制台被杀死之前无法再次捕获.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有