美文网首页嵌牛IT观察
vs2015+opencv3.3+mfc读取摄像头显示在图片控件

vs2015+opencv3.3+mfc读取摄像头显示在图片控件

作者: 小米__ | 来源:发表于2018-03-26 22:38 被阅读20次

【嵌牛导读】:

     opencv界面开发常用的有mfc、QT、c#等。本文就是使用opencv读取摄像头,使用opencv处理视频的第一步。转载自本人博客。

【嵌牛正文】:

要开始做一个行人检测的小项目,首先读取出摄像头显示,参考了这位博主的教程:http://blog.csdn.net/qq_32171677/article/details/61190719,可能是版本问题无法读出摄像头显示在Picture Control控件中,因此做了一些改进,改变了获取摄像头的方式,步骤如下:

1、配置环境为VS2015+OpenCV3.3,按照以上博主的教程搭建图形界面,最后程序正常执行,摄像头旁边的led灯也亮了,但是图形控件中并没有显示出来摄像头的图像。

    2、新建一个Mat型变量和VideoCapture 变量

Mat g_srcImage;

VideoCapture Capture(0);

3、修改打开摄像头按钮事件相应函数,将获取摄像头一帧数据的函数改为:Capture >> g_srcImage;再将Mat型的g_srcImage改为IplImage类型变量,修改后的函数如下:

// TODO: 在此添加控件通知处理程序代码 namedWindow("显示摄像头"); Capture >> 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: 在此添加消息处理程序代码和/或调用默认值a

Capture >> g_srcImage;

imshow("显示摄像头", g_srcImage);

pDC = GetDlgItem(IDC_PIC_STATIC)->GetDC();//GetDlgItem(IDC_PIC_STATIC)意思为获取显示控件的句柄(句柄就是指针),获取显示控件的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.3+mfc读取摄像头显示在图片控件

    【嵌牛导读】: opencv界面开发常用的有mfc、QT、c#等。本文就是使用opencv读取摄像头,使用op...

  • 上手OpenCV_GUI-L02-视频

    目标 学习如何读取、显示、保存视频。 学习如何读取摄像头并显示。 学习如何使用cv2.VideoCapture()...

  • Opencv读取图片 C++ | Python

    1.0 Python读取图片 2.0 C++读取图片 3.0 运行结果 Python结果显示C++结果显示 4.0...

  • Task 2 数据读取与数据扩增

    学习目标 python和pytorch进行图像读取-- 用Pillow来读取图片和显示图片 --这个方法是在单独的...

  • 1.3-1.6 图片及像素基本操作

    1.3 图片的读取与显示 引入OpenCV模块。 调用读取和显示图片的API。 程序停止(将程序暂停才可以显示出图...

  • 在kernel显示摄像头数据

    需求:车机项目需求高优先级显示RVC,所以要在kernel显示摄像头数据 分析:在屏显驱动probed之后,读取c...

  • Android大尺寸图片加载问题

    对于大尺寸图片加载,如何正常加载显示且不发生OOM? 图片采样,应用场景:图片全部显示在控件上 图片按区域加载,应...

  • OpenCV for Android(6):拍照与相册读取

    有了之前的相机的按钮、前后摄像头切换,下一步就是如何控制相机,进行拍照、保存,以及读取手机相册的图片并显示出来。这...

  • QQ粘性效果

    动画分析 当前控件既可以显示图片,有可以显示文字,那么我们就可以通过按钮来最为当前的控件. 当拖动控件,当前控件尺...

  • iOS图像加载原理

    图片加载 在iOS中,图片显示的过程大致如下: 从磁盘读取图片并加载到内存。(data buffer) CPU对图...

网友评论

本文标题:vs2015+opencv3.3+mfc读取摄像头显示在图片控件

本文链接:https://www.haomeiwen.com/subject/lsprbxtx.html