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 ...
最新文章
- 西门子数控面板图解_20190319工控维修日记(西门子系统第四讲)
- linux ifconfig 命令详解
- qt linux webservice,Qt实现访问WebService
- LVM (Logic Volume Management,逻辑卷管理)
- 中介者模式分析、结构图及基本代码
- 第五节 CImage和CBmp(二)
- cpu,内存和disk使用报警脚本
- 二开的精美UI站长源码分享论坛网站源码 可切换皮肤界面
- 基于JAVA+SpringBoot+Mybatis+MYSQL的校园新闻管理系统
- 洛谷1004方格取数
- SpringBoot注册组件之@Configuration@Bean注解作用及注意点
- 1、win7 scala安装及idea中scala配置
- Qt实现名字的幸运大抽奖
- SQL Server 游标
- VS2017安装MSDN帮助文档
- java版溺尸刷怪塔_教程/溺尸陷阱 _ 《我的世界》中文Minecraft Wiki:最详细的官方我的世界百科...
- 百家号素材审核规范说明
- 编程计算图形的面积(圆形,正方形,长方形)
- 数学基础——矩阵学习
- linux如何查看python的版本_linux怎么改python默认版本