Idea
opencv 中 有个实现 高斯滤波 的接口,如下:
cv2.GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType...=None)
在做项目的过程中,我发现如果根据 像素点 相对整张图片 的位置 设计 不同的 滤波核大小(即参数 ksize),就可以灵活地对整张图片实现 动态 高斯滤波 了。...由于我的图片大小是 600×424×3 ,所以我的 k1,k2,b 取值如下:
k1,k2,b=⎧⎩⎨⎪⎪0,0.012,00.009,0,00.0053,0.0053,0垂直高斯;水平高斯;对角高斯....Demo
原图像:
?
水平动态高斯滤波:
?
垂直动态高斯滤波:
?...Code
以下代码中,关于 “对角动态高斯滤波(diagonal gaussian)” 的代码段有问题,所以被我注释掉了。
因为不能对单元素单独进行高斯滤波,所以会报错。