首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenCV打开U盘摄像头

使用OpenCV打开U盘摄像头
EN

Stack Overflow用户
提问于 2019-01-22 21:54:10
回答 1查看 3.6K关注 0票数 1

我想在Linux mint18.3上用C++打开一个带有OpenCV的USB摄像头。摄像头已插入电源,并可通过Common Vision模块与SoftwareSuite配合使用。使用- lsusb时,我会得到以下输出:

代码语言:javascript
复制
Bus 002 Device 005: ID 1ab2:0001  
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0cf3:e300 Atheros Communications, Inc. 
Bus 001 Device 003: ID 1bcf:2b95 Sunplus Innovation Technology Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

第一个条目似乎是相机,因为如果拔下相机插头,该条目就不存在。但是我不明白为什么没有显示一个名字。

然后我在互联网上找到了USB摄像头,路径是:/dev/v4l/by-id/ or /dev/v4l/by-path//dev/v4l/by-id/的条目为:

代码语言:javascript
复制
usb-CNFEH73N3462520017B2_Integrated_Webcam_HD-video-index0

/dev/v4l/by-path/的条目是:

代码语言:javascript
复制
pci-0000:00:14.0-usb-0:12:1.0-video-index0

所以我想用OpenCV打开pci-0000:00:14.0-usb-0:12:1.0-video-index0,方法是:

代码语言:javascript
复制
VideoCapture 
cap("/dev/v4l/by-id/usb-CNFEH73N3462520017B2_Integrated_Webcam_HD-video-index0");

我使用Clion作为IDE,并以root身份正常运行它,但在这两种情况下,我都会得到以下错误:

代码语言:javascript
复制
GStreamer Plugin: Embedded video playback halted; module source reported: Could not read from resource.
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline) in cvCaptureFromCAM_GStreamer
/opencv-3.0.0/modules/videoio/src/cap_gstreamer.cpp, line 773 terminate called after throwing an instance of 'cv::Exception'

如何使用dev/v4l/打开U盘并以正确方式打开

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-22 22:20:01

你应该通过int id打开一个设备。尝试使用:

代码语言:javascript
复制
VideoCapture cap(0);

实际上,正如documentation中所描述的那样,传递字符串OpenCV期望打开回放文件,例如MPEG文件。

这是有效的,但问题是打开的摄像头是集成摄像头,lsusb报告为:

代码语言:javascript
复制
Bus 001 Device 003: ID 1bcf:2b95 Sunplus Innovation Technology Inc. 

它实际上是/dev/video0,通过以下链接:

代码语言:javascript
复制
/dev/v4l/by-path/pci-0000:00:14.0-usb-0:12:1.0-video-index0

相反,列出的lsusb条目如下:

代码语言:javascript
复制
Bus 002 Device 005: ID 1ab2:0001  

即外接摄像头,似乎未被识别为V4L设备。我不知道"SoftwareSuite by Common Vision Block“,所以我不知道这个软件是否能够像原始设备一样工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54309848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档