在MFC中的cpp文件中加入头文件
#include <opencv2\imgproc\types_c.h>
#include<iostream>
#include "conio.h"
//#include "opencv2\calib3d\calib3d.hpp"
#include "opencv2/calib3d.hpp"
using namespace std;
using namespace cv;
using std::max;
using std::cout;
using std::endl;
using cv::Mat;
using cv::Scalar;
using cv::imshow;
using cv::line;
如下定义灰度变换的函数
//图像灰度化
Mat gray_img(Mat image)
{
Mat image_gray = Mat::zeros(image.size(), CV_8UC1);
for (int i = 0; i < image.rows; i++)
{
for (int j = 0; j < image.cols; j++)
{
image_gray.at<uchar>(i, j) = 0.11 * image.at<Vec3b>(i, j)[0] + 0.59 * image.at<Vec3b>(i, j)[1] + 0.3 * image.at<Vec3b>(i, j)[2];
}
}
// Show stuff
//namedWindow("Original Image", 1);
imshow("gray", image_gray);
waitKey(0);
return(image_gray);
}
void CMFCworkDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
Mat image = imread("ema.jpg", 1);
Mat image_gray= gray_img(image);
}