使用 openCV 访问笔记本电脑摄像头
Posted
技术标签:
【中文标题】使用 openCV 访问笔记本电脑摄像头【英文标题】:Accesing laptop camera with openCV 【发布时间】:2016-09-30 21:37:29 【问题描述】:我根据此页面运行以下代码 - http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html
cap = cv2.VideoCapture(0)
print cap.read()
print cap.open()
cap.release()
我得到的结果是:
(错误,无)
TypeError:找不到所需的参数“设备”(位置 1)
我使用 jupyter notebook、python 2.7、openCV 2.4。
如何让 openCV 与 cam 配合使用?
【问题讨论】:
尝试而不是 0 1 您使用的是 opencv 2.4 但阅读的是 3.0 文档? 【参考方案1】:对于 OpenCV 2.4,使用以下代码:
import cv2
cap = cv2.VideoCapture(0)
while True:
ret,img=cap.read()
cv2.imshow('Video', img)
if(cv2.waitKey(10) & 0xFF == ord('b')):
break
如果仍然无法获取相机输入,请将 VideoCapture(0) 替换为 VideoCapture(1)。问题可能是因为您的机器上安装了第 3 方相机驱动程序。
如果这也不起作用,请尝试 VideoCapture("path/to/saved_video")。如果您正确输入了文件路径,并且您的 OpenCV 配置没有问题,您应该会获得已保存的视频帧。这意味着您需要检查相机驱动程序
【讨论】:
这与我所做的非常相似,但没有成功。我也试过cap = cv2.VideoCapture('test.webm')
这是一个视频文件,它也没有工作......
保存文件有什么问题...也试试mp4
@Sarnash Kejruwal 与上述相同的错误,也在 mp4 中。
尝试将视频放在与您的代码相同的目录中,然后在 VideoCapture 中输入文件名,而不是在我的代码中输入 filePath。我这样做只是为了绝对确定您的 openCV 配置没有问题。那你会得到什么错误?
@sarnash Kejriwal 我从同一个文件夹中执行此操作,错误与原始问题中的相同。问题似乎是,当我执行cap = cv2.VideoCapture('test.webm')
或cap = cv2.VideoCapture(0)
时,视频捕获无法打开,这就是导致错误的原因……当我执行cv.isOpened()
时,我总是会出错……【参考方案2】:
使用以下命令确定您的网络摄像头在哪个设备上:
$ls /dev/video*
并使用VideoCapture(num)
的号码
【讨论】:
以上是关于使用 openCV 访问笔记本电脑摄像头的主要内容,如果未能解决你的问题,请参考以下文章
用于 Ubuntu 中 C 代码和笔记本电脑摄像头使用的 openCV 库