一个非常简单的关于自定义算子模糊图像的demo,但是有一个点需要注意:
src = imread("/Users/apple/Desktop/test.jpg", IMREAD_COLOR); int c = 0; int index = 0; int ksize = 0; while (1) { c = waitKey(500); if ((char)c == 27) { // ESC break; } ksize = 5 + (index % 8) * 2; Mat kernel = Mat::ones(Size(ksize, ksize), CV_32F) / (float)(ksize * ksize); filter2D(src, dst, -1, kernel, Point(-1, -1)); index++; imshow("outoput", dst); }
注意
ksize = 5 + (index % 8) * 2;
这一句代码。
一定要使ksize为奇数,若是把“* 2”删除,则会导致图像在模糊的过程成颤抖。