vs2015+opencv3.2+mfc读取摄像头显示在图片控件Picture Control
vs2015 + opencv3.3 + mfc读取摄像头显示在图片控件Picture Control
要开始做一个行人检测的小项目,首先读取出摄像头显示,参考了这位博主的教程:http : //blog.csdn.net/qq_32171677/article/details/61190719,可能是版本问题无法读出摄像头显示在Picture Control控件中,因此做了一些改进,改变了获取摄像头的方式,步骤如下:
如图1所示,配置环境为VS2015 + OpenCV3.3,按照以上博主的教程搭建图形界面,最后程序正常执行,摄像头旁边的导致灯也亮了,但是图形控件中并没有显示出来摄像头的图像。
2,新建一个Mat型变量和VideoCapture变量
Mat g_srcImage;
VideoCapture Capture(0);
3,修改打开摄像头按钮事件相应函数,将获取摄像头一帧数据的函数改为:Capture >> g_srcImage;再将Mat型的g_srcImage改为IplImage类型变量,修改后的函数如下:
// TODO:在此添加控件通知处理程序代码 namedWindow(“显示摄像头”);
捕捉>> g_srcImage;
imshow(“显示摄像头”,g_srcImage);
frame =&IplImage(g_srcImage);
pDC = GetDlgItem(IDC_PIC_STATIC) - > GetDC(); // GetDlgItem(IDC_PIC_STATIC)意思是获取显示控件的句柄(句柄就是指针),获取显示控件的DC GetDlgItem(IDC_PIC_STATIC) - > GetClientRect(&rect);
hDC = pDC-> GetSafeHdc(); //获取显示控件的句柄
CvvImage m_CvvImage;
m_CvvImage.CopyOf(frame,1); //复制该帧图像 m_CvvImage.DrawToHDC(hDC,&rect); //显示到设备的矩形框内 ReleaseDC(PDC); SetTimer(1,25,NULL); //定时器,定时时间和帧率一致
4,同时,将定时器函数做出同样的更改:
// TODO:在此添加消息处理程序代码和/或调用默认值捕捉>> g_srcImage;imshow(“显示摄像头”,g_srcImage);
pDC = GetDlgItem(IDC_PIC_STATIC) - > GetDC(); //获取显示控件的DC()
函数GetDlgItem(IDC_PIC_STATIC) - > GetClientRect(&RECT);
hDC = pDC-> GetSafeHdc(); //获取显示控件的句柄
frame =&IplImage(g_srcImage);CvvImage m_CvvImage;m_CvvImage.CopyOf(frame,1); //复制该帧图像
m_CvvImage.DrawToHDC(hDC,&rect); //显示到设备的矩形框内
CDialogEx ::的OnTimer(nIDEvent);
5,关闭摄像头只是简单的关闭定时器
ReleaseDC(PDC);KillTimer函数(1);
6,下载工程连接:https://download.csdn.net/download/ai_lz/10284887
有问题请留言,转载请声明http://blog.csdn.net/ai_Lz/article/details/79545668。
vs2015+opencv3.2+mfc读取摄像头显示在图片控件Picture Control相关推荐
- MFC动态改变图形控件picture control位置
前言 有时候用pictrue控件显示图片的时候,如果设置图片大小适应控件大小可能不是很合理,但如果不设置,控件可能会便宜你摆放的原位置,这时候需要动态设置图形控件位置 正文 void CDlog4:: ...
- (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值
题目是老师布置的一道作业题,要求用C或C++完成,但不能用VTK/Opencv等软件包,经过很多摸索之后实现了该功能,后续可能还有其他功能要实现,所以先写一篇博客记录下,一方面是方便自己以后使用,另一 ...
- mfc调取摄像头显示并截图_利用MFC来显示摄像头并拍照
今天是第一次尝试写一个MFC程序.水了一天,终于写好了.总结一下. 一.配置环境 调用摄像头是通过opencv库进行的,所以首先要配置好opencv 的环境.这个可以通过这个链接进行配置. https ...
- (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值(接上篇博客)
上篇博客简要介绍了如何利用MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值信息,主要包含了对话框的创建和添加程序,代码也在上一页中给了大家,但是并没有详细说明功能,所以在这一节当中主 ...
- 项目MFC总结(二)——读取CSV文件将数据转化为图像显示在图片控件
功能 点击[打开文件]按钮,选择文件打开,将数据处理为图像(默认处理第10帧开始),然后将图像显示在图片控件. 注:整个项目有关图像处理的操作基本用OpenCV实现. 读取文件实现 1.添加按钮控件 ...
- Qt 读取并且显示SVG图片
SVG图片是一种可缩放的矢量图片,是一个开放的图片标准.是由xml格式定义一种文件. svg图片文件具有以下优势: 基于xml语言 可在图像质量不下降的情况下被放大 比JPEG和PNG格式的文件要小很 ...
- C语言用句柄显示bmp图片,VC编程之VC MFC界面上显示BMP图片
本文主要向大家介绍了VC编程之VC MFC界面上显示BMP图片,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助. 1.通过点击界面浏览按钮选择BMP图像文件. 点击浏览按钮打开文件对话框选择 ...
- MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片
最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在<数字图像处理>课程中完成的软件都是基于单文档的程序 ...
- VS2013 MFC 直接将 OpenCV2.0/3.0 库中的 Mat 结构的图像传递到 Picture Control(图片控件)
接上文 VS2013 MFC + OpenCV3.0 打开图片: 既然我们已经从 OpenCV1.0 走到了 OpenCV2.0 乃至更高,又何苦在写基于 MFC 的图像处理程序时,又回到 OpenC ...
最新文章
- A - Expanding Rods POJ - 1905(二分)
- 程序猿悲喜录:魔都,想说爱你不容易
- 设计模式 之 建造者
- [ZJOI2011]礼物
- linux识别fat16还是32,FAT16 、FAT32 、NTFS、LINUX区别.doc
- PreparedStatement批量处理的一个Framework(原创)
- ceph Luminous版手动安装零散记录
- Bleu:此'蓝'非彼蓝
- 弱键(Weak Key, ACM/ICPC Seoul 2004, UVa1618)
- 小说题目和章节题目还没想好
- meta分析stata教程
- 美团监控系统mysql_美团MySQL数据库巡检系统的设计与应用
- (5)将一个数组中的值按逆序重新存放。例如原来顺序为8,6,5,4,1。要求改为1,4,5,6,8
- linux ssh权限设置,linux 让ssh只允许指定的用户登录的权限设置
- 案例:自动复制黏贴bat
- matlab求解微分代数方程组,微分代数方程(DAE)的Matlab 解法.PDF
- 【3D服装级设计/游戏动画引擎】Marvelous Designer软件
- C++实现中文大写与阿拉伯数字的相互转换(类封装)
- Java: Integer比较127, 128
- ATX框架下 app的webview操作