MFC+Opencv实现图片、视频处理和人脸识别
PS: 请先观看3.3节的效果看该博客是否对您有效,项目代码会在微信公众号公布源代码,如有需要可以查看
微信公众号:DeepThinkerr
回复:MFC+Opencv
文章目录
1. 环境配置
该项目主要使用Visual Studio和Opencv库,使用C++语言。
- Visual Studio 2019
- Opencv 4.4.0
2. 项目功能
图像处理:
- 镜像
- 灰度图
视频处理:
- 镜像
- 灰度
- 人脸识别
3. MFC界面编程
3.1 MFC界面展示
3.2 MFC监控功能介绍
- 左侧Picture Control:显示图像或视频
- START(Button):显示视频
- PAUSE(BUTTON):暂停视频
- ORIGINAL(BUTTON):视频或图片显示为原始状态
- GRAY((BUTTON):视频或图片显示为灰度图
- MIRROR(BUTTON):视频或图片显示为镜像
- Face Detection(BUTTON):视频进行人脸识别
3.3 MFC功能展示
3.3.1 原始状态
3.3.2 灰度
3.3.3 镜像
3.3.4 人脸识别
PS: 可以调节参数,项目使用的参数效果对侧脸和人多的地方识别效果不理想
4. 项目关键代码
4.1 MFC键控代码
PS: function为int类型, 表示当前项目的功能
- 0:原始图像
- 1:灰度图
- 2:镜像
- 3:人脸识别
1. START(Button) ID:IDC_BUTTON_START
void 类名::OnBnClickedButtonStart()
{
// TODO: 在此添加控件通知处理程序代码
SetTimer(100, 1, NULL);
KillTimer(200);
}
2. PAUSE(Button) ID:IDC_BUTTON_PAUSE
void 类名::OnBnClickedButtonPause()
{
// TODO: 在此添加控件通知处理程序代码
KillTimer(100);
SetTimer(200, 1, NULL);
}
3. ORIGINAL(BUTTON) ID:IDC_BUTTON_ORIGINAL
void 类名::OnBnClickedButtonOriginal()
{
// TODO: 在此添加控件通知处理程序代码
function = 0;
}
4. GRAY(Button) ID:IDC_BUTTON_GRAY
void 类名::OnBnClickedButtonGray()
{
// TODO: 在此添加控件通知处理程序代码
function = 1