关于用camerads.cpp中的OpenCamera打开摄像头的问题

mashimaro1225 2012-08-26 11:30:22
由于用OpenCV的cvCreateCameraCapture打开摄像头时,用某些摄像头无法正常成像。所以后来采用了camerads里面的方法。但是,在调用OpenCamera时,如果该摄像头已经开启,程序会挂掉。
请问,在用OpneCamera()方法打开摄像头之前,怎么判断要打开的摄像头是否已经开启了呢?
...全文
246 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
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:文件路径

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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