参考视频:【图像滤波(高斯滤波、双边滤波、引导滤波原理及实现)】 https://www.bilibili.com/video/BV1fo4y1K7Rw/?share_source=copy_web&vd_source=c0697661320dab63e5710ea1fb58458f
线性图像滤波
线性,是指最终生成的像素值是由邻域像素值线性混合而成
均值滤波
高斯滤波
时间复杂度
O(HWNN) -> O(2HWN)
二维滤波,如果在数学上具有可分离性,例如均值滤波、高斯滤波,可以拆分成两个一维滤波,复杂度从O(HWNN)降低成O(2HWN)
O(HWNN) -> O(HW)
创建积分图,位于 (x,y)(x,y) 处的值,等于原图像从左上角 (0,0)(0,0) 到 (x,y)(x,y) 这个矩形区域内所有像素值的总和。计算量O(HW)。
有了积分图,可以求任意一个矩形内的和,只需要四次加减法。
非线性图像滤波
中值滤波
对kernel内的像素值进行排序取中值作为结果
双边滤波
在做图像增强时会有问题。
用滤波得到低频图
原图-低频图=高频图
输出图像=高频图*2 + 低频图
这样操作时,用双边滤波得到的低频图,会产生伪影。
在靠近边界时,左边是0,右边是255,0 | 255,经过双边滤波后假设得到的是 3 | 252,高频图为 -3 | 3,输出图像为 -3 | 258,靠近边界时暗的地方会更暗,亮的地方会更亮。