#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
Mat src, dst, kernel;
Point anchor;
double delta;
int ddepth;
int kernel_size;
char* window_name = "filter2D Demo";
int main()
{
int c;
src = imread("中秋.png");
if (!src.data)
{
cerr << "Can't open the image!" << endl;
return EXIT_FAILURE;
}
namedWindow(window_name);
anchor = Point(-1, -1);
delta = 0;
ddepth = -1;
int ind = 0;
while (true)
{
c = waitKey(500);
if ((char)c == 27)
{
break;
}
kernel_size = 3 + 2 * (ind % 5);
kernel = Mat::ones(kernel_size, kernel_size, CV_32F) / (float)(kernel_size*kernel_size);
filter2D(src, dst, ddepth, kernel, anchor, delta, BORDER_DEFAULT);
imshow(window_name, dst);
ind++;
}
return 0;
}