一个非常简单的关于自定义算子模糊图像的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”删除,则会导致图像在模糊的过程成颤抖。