关于opencv打开摄像头设备编号的问题

qq_43244425 2019-01-22 07:43:46
请问使用opencv打开usb摄像头的时候,如何通过其他方式区别不同摄像头
也就是如何打破通过usb插入顺序确定摄像头的桎梏
...全文
584 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨狗熊87 2019-01-23
  • 打赏
  • 举报
回复
你可以试试手动挂在摄像头到文件上
帅得不敢出门 2019-01-23
  • 打赏
  • 举报
回复
通过lsusb出来的那个ID来唯一标识。
1. 功能概述 利用普通的USB摄像头获取动态图像实时的检测出图像中的人脸并用红框框出。 2. 程序清单 1)CameraDS.cpp bool CCameraDS::OpenCamera(int nCamID, bool bDisplayProperties=true, int nWidth=320, int nHeight=240); 打开摄像头,nCamID指定打开哪个摄像头,取值可以为0,1,2,... bDisplayProperties指示是否自动弹出摄像头属性页 nWidth和nHeight设置的摄像头的宽和高,如果摄像头不支持所设定的宽度和高度,则返回false void CloseCamera(); 关闭摄像头,析构函数会自动调用这个函数 static int CameraCount(); 返回摄像头的数目 可以不用创建CCameraDS实例,采用int c=CCameraDS::CameraCount();得到结果。 static int CCameraDS::CameraName(int nCamID, char* sName, int nBufferSize); 根据摄像头编号返回摄像头的名字 nCamID: 摄像头编号 sName: 用于存放摄像头名字的数组 nBufferSize: sName的大小 可以不用创建CCameraDS实例,采用CCameraDS::CameraName();得到结果。 int GetWidth(); 返回图像宽度 int GetHeight(); 返回图像高度 IplImage * QueryFrame(); 抓取一帧,返回的IplImage不可手动释放! 返回图像数据的为RGB模式的Top-down(第一个字节为左上角像素),即IplImage::origin=0(IPL_ORIGIN_TL) 2)haarcascade.cpp CvHaarClassifierCascade* load_object_detector( const char* cascade_path ); 用于从文件中装载训练好的利用哈尔特征的级联分类器(网上下的) cascade_path:文件路径

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧