使用 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 库

使用带有接受图像的文件输入来访问笔记本电脑上的网络摄像头

opencv怎样打开自己笔记本的摄像头

如何将 BGRA 图像保存到 iphone,然后将其带到笔记本电脑上进行后期处理

笔记本电脑检测不到摄像头怎么回事?

笔记本电脑摄像头怎么开启