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相关推荐

  1. MFC动态改变图形控件picture control位置

    前言 有时候用pictrue控件显示图片的时候,如果设置图片大小适应控件大小可能不是很合理,但如果不设置,控件可能会便宜你摆放的原位置,这时候需要动态设置图形控件位置 正文 void CDlog4:: ...

  2. (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值

    题目是老师布置的一道作业题,要求用C或C++完成,但不能用VTK/Opencv等软件包,经过很多摸索之后实现了该功能,后续可能还有其他功能要实现,所以先写一篇博客记录下,一方面是方便自己以后使用,另一 ...

  3. mfc调取摄像头显示并截图_利用MFC来显示摄像头并拍照

    今天是第一次尝试写一个MFC程序.水了一天,终于写好了.总结一下. 一.配置环境 调用摄像头是通过opencv库进行的,所以首先要配置好opencv 的环境.这个可以通过这个链接进行配置. https ...

  4. (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值(接上篇博客)

    上篇博客简要介绍了如何利用MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值信息,主要包含了对话框的创建和添加程序,代码也在上一页中给了大家,但是并没有详细说明功能,所以在这一节当中主 ...

  5. 项目MFC总结(二)——读取CSV文件将数据转化为图像显示在图片控件

    功能 点击[打开文件]按钮,选择文件打开,将数据处理为图像(默认处理第10帧开始),然后将图像显示在图片控件. 注:整个项目有关图像处理的操作基本用OpenCV实现. 读取文件实现 1.添加按钮控件 ...

  6. Qt 读取并且显示SVG图片

    SVG图片是一种可缩放的矢量图片,是一个开放的图片标准.是由xml格式定义一种文件. svg图片文件具有以下优势: 基于xml语言 可在图像质量不下降的情况下被放大 比JPEG和PNG格式的文件要小很 ...

  7. C语言用句柄显示bmp图片,VC编程之VC MFC界面上显示BMP图片

    本文主要向大家介绍了VC编程之VC MFC界面上显示BMP图片,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助. 1.通过点击界面浏览按钮选择BMP图像文件. 点击浏览按钮打开文件对话框选择 ...

  8. MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

    最近有同学问我如何实现MFC基于对话框在图片控件中加载图片?其实使用MFC显示图片的方法各种各样,但是还是有些同学不知道怎样显示.以前在<数字图像处理>课程中完成的软件都是基于单文档的程序 ...

  9. VS2013 MFC 直接将 OpenCV2.0/3.0 库中的 Mat 结构的图像传递到 Picture Control(图片控件)

    接上文 VS2013 MFC + OpenCV3.0 打开图片: 既然我们已经从 OpenCV1.0 走到了 OpenCV2.0 乃至更高,又何苦在写基于 MFC 的图像处理程序时,又回到 OpenC ...

最新文章

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

热门文章

  1. 金蝶登录显示服务器离线,金蝶云盘登录提示云服务器已离线
  2. 金蝶K3 Cloud APi接口说明书
  3. 爬虫中的那些反爬虫措施以及解决方法
  4. java输出当前时间_JAVA中获取当前系统时间 - Matrix54 - 博客园
  5. Mac启动Openfire时提示“系统偏好设置错误”
  6. 郑州火车站贵宾室珍贵字画遭遇掉包
  7. Web前端入门:CSS中颜色三种写法
  8. Java开发的本质 DOS界面的常用命令
  9. MongoDB查询返回指定字段
  10. 关于动画人物与三次元融合小技巧