
MFC使用opencv在picture控件上面播放摄像头视频
发布日期:2021-05-07 00:34:57
浏览次数:9
分类:技术文章
本文共 1514 字,大约阅读时间需要 5 分钟。
一、目的:
1、想知道:MFC使用opencv在picture控件上面播放摄像头视频
二、参考
1、
三、操作
1、MFC中创建picture控件:IDC_camera
1、MFC中创建Camera类
①Camera.h
#pragma once#include "afxwin.h"#include "Resource.h"#include "opencv.hpp"#include "videoio.hpp"#include "CvvImage.h"using namespace std;using namespace cv;class Camera{public: Camera(); ~Camera();public: CWnd *m_pCWnd;//相机:窗口类指针 HWND m_HWND;//相机:窗口类句柄 bool m_bIsCanPlay=false;//相机是否能够播放 VideoCapture m_videoCapture;public: //相机:在picture上面显示相机画面 void CameraPlayOnPicture();};
①Camera.cpp
#include "stdafx.h"#include "Camera.h"Camera::Camera(){ }Camera::~Camera(){}void Camera::CameraPlayOnPicture(){ //测试:此地方不使用while if (m_bIsCanPlay) { if (!m_videoCapture.isOpened()) { m_videoCapture.open(0); }; Mat frame; m_videoCapture >> frame; IplImage* pFrame = (IplImage *)&IplImage(frame); //IplImage* 与Mat 格式相互转换:Mat转换为IplImage CDC *pCDC = AfxGetApp()->GetMainWnd()->GetDlgItem(IDC_camera)->GetDC(); //获得控件设备上下文指针,IDC_CAMERA为控件的ID HDC hDC = pCDC->GetSafeHdc(); //转换为句柄 CRect rect; AfxGetApp()->GetMainWnd()->GetDlgItem(IDC_camera)->GetClientRect(&rect); //获得控件的位置 AfxGetApp()->GetMainWnd()->GetDlgItem(IDC_camera)->MoveWindow(0, 0, 1920, 1080); CvvImage cimg; cimg.CopyOf(pFrame); cimg.DrawToHDC(hDC, &rect); //显示图像 if (m_pCWnd == NULL) { m_pCWnd = AfxGetApp()->GetMainWnd()->GetDlgItem(IDC_camera);//找到IDC_inVideo控件 } if (m_HWND == NULL) { m_HWND = m_pCWnd->GetSafeHwnd();//得到窗口指针句柄 } ReleaseDC(m_HWND, hDC); //CDC类在用完后记得释放 }}
1、MyLiftDlg中创建线程,不断播放监控视频
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月15日 11时52分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【论文泛读03】卷积LSTM网络:一种短时降雨量预测的机器学习方法
2019-03-04
中科大-凸优化 笔记(lec45)-强凸性等价不等式
2019-03-04
linux 中 alien命令的使用
2019-03-04
【论文泛读29】关系抽取:卷积神经网络的视角
2019-03-04
shell 中的 set命令 -e -o 选项作用
2019-03-04
Python中JSON的基本使用
2019-03-04
函数的默认参数值,即在定义参数的时候给它一个默认值
2019-03-04
ubuntu install baidu inputmethod
2019-03-04
程序员建议(忘记从哪里转的了,反正是csdn上的一个兄弟)
2019-03-04
电脑重装系统后提示invalid partition table怎么解决
2019-03-04
c++ primer 5th 练习11.9自己编写的答案
2019-03-04
web实现断点续传
2019-03-04
自定义BootstrapTable扩展:分页跳转到指定页码
2019-03-04
Python3逻辑运算符
2019-03-04
【学习笔记】欧拉函数,欧拉公式
2019-03-04
Python3序列
2019-03-04
vue-cli中找不到jquery的原因,以使用ztree为例
2019-03-04
React中设置404页面
2019-03-04
BootstrapValidator手动触发部分验证
2019-03-04
vue调试工具vue-devtools安装及使用
2019-03-04