//图像卷积原理
#include <stdio.h>
#include <iostream>
#include <string>
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat src = (cv::Mat_<float>(5, 5) <<
1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15,
16, 17, 18, 19, 20,
21, 22, 23, 24, 25);//枚举赋值法,必须加括号,不然VS2017会报错
Mat dst;
Mat kernel = (cv::Mat_<float>(3, 3) <<
1, 2, 1,
0, 2, 0,
1, 2, 1);
kernel = kernel / 10;//除以10做归一化,防止卷积后像素值越界
filter2D(src, dst, CV_32F, kernel);
waitKey(0);
return 0;
}
通过Image Watch插件查看Mat变量数据: