社区
C++ 语言
帖子详情
关于用camerads.cpp中的OpenCamera打开摄像头的问题
mashimaro1225
2012-08-26 11:30:22
由于用OpenCV的cvCreateCameraCapture打开摄像头时,用某些摄像头无法正常成像。所以后来采用了camerads里面的方法。但是,在调用OpenCamera时,如果该摄像头已经开启,程序会挂掉。
请问,在用OpneCamera()方法打开摄像头之前,怎么判断要打开的摄像头是否已经开启了呢?
...全文
246
1
打赏
收藏
关于用camerads.cpp中的OpenCamera打开摄像头的问题
由于用OpenCV的cvCreateCameraCapture打开摄像头时,用某些摄像头无法正常成像。所以后来采用了camerads里面的方法。但是,在调用OpenCamera时,如果该摄像头已经开启,程序会挂掉。 请问,在用OpneCamera()方法打开摄像头之前,怎么判断要打开的摄像头是否已经开启了呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
open
cv
中
使用directshow库解决
open
cv黑屏
问题
使用说明: // 1. 将
Camer
a
DS.h
Camer
a
DS.
cpp
以及目录DirectShow复制到你的项目
中
// 2. 菜单 Project->Settings->Settings for:(All configurations)->C/C++->Category(Preprocessor)->Additional include directories // 设置为 DirectShow/Include // 3. 菜单 Project->Settings->Settings for:(All configurations)->Link->Category(Input)->Additional library directories // 设置为 DirectShow/Lib
mfc
中
使用
open
cv获取
摄像头
视频并显示
一、使用DirectShow获取
摄像头
视频 DirectShow在Visual Studio 2005开发环境下的使用说明: 1.将
Camer
a
DS.h
Camer
a
DS.
cpp
复制到你的项目
中
; 2.将DirectShow复制到你的
open
cv根目录下,菜单 工具->选项->项目和解决方案->vc++目录,把..(你的
open
cv安装目录)/DirectShow/Include添加到“包含文件”
中
; 3.菜单 工具->选项->项目和解决方案->vc++目录,把..(你的
open
cv安装目录)/DirectShow/Lib添加到“库文件”下面。 获取摄像视频: 利用
Camer
a
DS的
Open
Camer
a
函数
打开
摄像头
,利用QueryFrame获取每一帧。 二、使用CvvImage类显示
摄像头
视频
open
cv的较高版本
中
没有CvvImage类,因此需要手动添加这个类的头文件CvvImage.h和代码文件CvvImage.
cpp
。 mfc界面添加一个picture控件,ID为IDC_VIEW1。 在对话框头文件
中
定义如下变量: CRect rect1; CStatic* pStc1; CDC* pDC1; HDC hDC1; 在对话框源文件OnInitDialog
中
初始化变量: pStc1=(CStatic *)GetDlgItem(IDC_VIEW1); pStc1->GetClientRect(&rect1;); pDC1=pStc1->GetDC(); hDC1=pDC1->GetSafeHdc(); 显示视频: CvvImage m_CvvImage; m_CvvImage.CopyOf(frame,frame->nChannels); //frame是视频帧 m_CvvImage.DrawToHDC(dlg->hDC1, &dlg;->rect1); 附件
中
包含所有必需的文件。
20150613.
CPP
语言
尹成讲师,带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、算法、设计模式、数据库、大数据高并发检索、文件重定向、多线程同步、进程通讯...
利用通用型USB
摄像头
进行人脸检测
1. 功能概述 利用普通的USB
摄像头
获取动态图像实时的检测出图像
中
的人脸并用红框框出。 2. 程序清单 1)
Camer
a
DS.
cpp
bool C
Camer
a
DS::
Open
Camer
a
(int nCamID, bool bDisplayProperties=true, int nWidth=320, int nHeight=240);
打开
摄像头
,nCamID指定
打开
哪个
摄像头
,取值可以为0,1,2,... bDisplayProperties指示是否自动弹出
摄像头
属性页 nWidth和nHeight设置的
摄像头
的宽和高,如果
摄像头
不支持所设定的宽度和高度,则返回false void Close
Camer
a
(); 关闭
摄像头
,析构函数会自动调用这个函数 static int
Camer
a
Count(); 返回
摄像头
的数目 可以不用创建C
Camer
a
DS实例,采用int c=C
Camer
a
DS::
Camer
a
Count();得到结果。 static int C
Camer
a
DS::
Camer
a
Name(int nCamID, char* sName, int nBufferSize); 根据
摄像头
的编号返回
摄像头
的名字 nCamID:
摄像头
编号 sName: 用于存放
摄像头
名字的数组 nBufferSize: sName的大小 可以不用创建C
Camer
a
DS实例,采用C
Camer
a
DS::
Camer
a
Name();得到结果。 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:文件路径
图像处理2--
打开
多个
摄像头
使用双目视觉这里用到了
open
cv和directshow两个方面的内容,本次没有用到MFC。 需要对编译器进行设置(
open
cv在图像处理方面很强大,但是在图像采集方面似乎只能采集一个
摄像头
,因此这里借用directshow进行双目图像的获取,之后就可以利用
open
cv进行处理) 首先新建一个console应用程序,空工程,添加一个main.
cpp
一、与directshow有关的设置 首
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章