昨天编写了一个简单的OpenCV 显示图片的历程,想要了解可以看看基本
文章入口:
今天给大家使用MFC对OpenCV的编写:
1. 首先建立项目: 选择MFC → MFC应用程序,取名字为LoadPicture, 点击确定按钮
点击确定后选择基于对话框,点击完成。
删除图上的控件,添加一个button按钮,修改ID 为 IDC_OPEN Caption 为 “打开” 如图所示:
首先我们要先添加一个类 imageProcess 类
imageProcess .h 文件如下
#pragma once
#include"cv.h"
#include "highgui.h"
class imageProcess
{
public:
imageProcess(CString filename, bool display = true);
~imageProcess();
private:
IplImage *img;
};
对应的imageProcess.cpp 文件如下:
#include "stdafx.h"
#include "imageProcess.h"
imageProcess::imageProcess(CString filename, bool display)
{
img = cvLoadImage((char *)(LPCTSTR)filename,1);
if (display)
{
cvvNamedWindow("Original Image", 1);
cvShowImage("Original Image", img);
}
}
imageProcess::~imageProcess()
{
cvReleaseImage(&img); //释放图形指针
}
在 LoadPictureDlg.h 头文件下添加:
#include "imageProcess.h"
在打开按钮双击后,在生成的函数中添加一下代码:
void CLoadPictureDlg::OnBnClickedOpen()
{
CFileDialog dlg(TRUE);
char title[] = "open image";
dlg.m_ofn.lpstrTitle =(LPCTSTR) title; //添加标题
if (dlg.DoModal() == IDOK)
{
CString path = dlg.GetPathName(); //获取文件路径
imageProcess ip(path);
}
}
1.点击编译,若出现错误:
This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
请查看之前的编程的方案:
2.请在工程的属性页中,将字符集, 改成多字节字符集。如下图:
点击编译,运行,点击打开按钮,选择一张图片,最终生成:
源码工程很快上传,需要的可以进行下载,若有不太懂的东西,请私信我,大家共同进步