基于OpenCV的MFC程序从摄像机输入数据
来源:互联网 发布:微淘刷粉丝软件安全吗 编辑:程序博客网 时间:2024/05/04 06:47
在一些情况下,我们要分析从其他地方载入的固定图像。在另外一个情况下,我们要分析从磁盘中读入的视频文件。在更多的情况下,我们想处理从某些设想设备中实时读入的视频流。
OpenCV中的HighGUI模块,为我们提供了一种简单的方式来处理这种情况。从视频序列中捕捉图像帧,包括如下几种操作。
(1)对摄像头的初始化捕捉
CvCapture *capture = cvCaptureFromCAM(0);//从0号摄像头捕捉
(2)对文件的初始化捕捉
CvCapture *capture = cvCaptureFromAVI(“*.avi”)
(3)捕捉某一帧
CvCapture *capture = NULL;
Iplimge *img = 0;
if(!cvGrabFrame(capture))
{
printf(“Could not grab a fram”);
exit(0)
}
img = cvRetrieveFrame(capture);
(4)释放捕捉源
CvReleaseCapture(&capture);
(5)例程
该例程是MFC工程
在工程中添加链接库就不在详细介绍,具体请参考博客中关于C++使用opencv链接库无法调用的问题一文。
//定义一个公有成员CString filePath定义方法请参考博客中MFC和Flash的完整/通讯一文,同时下文
//中提到的工程中添加函数等方法都请参照MFC和Flash的完整通讯中的方法
OpenVideo() //在工程中自己添加,用于打开*.avi文件
//ShowImage(),将视频文件中的帧显示出来
//如果获得的文件地址为空,则需要用户重新选择需要打开的文件
//如过地址正确,则看是否可以正确读取帧
//创建窗口,用于显示正确的帧
//读取帧
IplImage *pFrame = NULL;
CvCapture *pCapture = Null
//应用程序结束的时候,需要销毁和释放所有的窗口和指针
cvReleaseImage(&pFrame );
cvReleaseCapture(&pCapture );
//如果想显示一张图片,则调用下面的函数,然后创建窗口并显示即可
//如果想显示实时视频则调用如下关键函数
CvCapture *pCapture = Null;
如上,针对视频文件,图片和实时视频的显示都已可以正常显示。
一帆风顺
- 基于OpenCV的MFC程序从摄像机输入数据
- OpenCV学习笔记(25)基于MFC和OpenCV的摄像机定标与立体匹配测试程序(20140505更新)
- OpenCV学习笔记(25)基于MFC和OpenCV的摄像机定标与立体匹配测试程序(20140505更新)
- OpenCV学习笔记(25)基于MFC和OpenCV的摄像机定标与立体匹配测试程序(20140505更新)
- 基于opencv的MFC多摄像机视场标定软件
- 基于opencv的摄像机标定
- 基于OPenCV和MFC的读图程序
- 基于OPenCV和MFC的读图程序
- 基于OPenCV和MFC的读图程序
- 学习opencv项目从摄像机读入数据
- MFC+OPENCV摄像机标定
- 基于OPENCV摄像机标定的源码
- 基于OpenCV的摄像机标定-翻译
- 基于OpenCV的双目摄像机标定
- MFC+opencv摄像机定标与立体匹配测试程序
- OpenCV学习笔记【6】:从摄像机读入数据
- 【MFC】基于OpenCV的魔镜
- 鲁棒的程序 之 MFC有理数数据输入控制
- 日历
- js:document,windows,wordoor.com
- c/c++的“按名字等价,按布局相容”原则(PAGE-14)
- php输出UTF-8格式XML文件中文乱码问题(含asp,asp.net,jsp代码)
- 一个简单的"单向链表"
- 基于OpenCV的MFC程序从摄像机输入数据
- 轻松实现Apache,Tomcat集群和负载均衡
- java操作csv文件
- 链表与数组的异同
- java面向对象主要有四大特性
- 单向链表的添加、删除与遍历
- 汉化与论坛 文章的感想篇
- VC内联汇编实现跳转调用
- jbpm4工作流存到mysql数据库里是乱码的问题。