我们都知道高斯内核的可分性。 是否有其他常见的可分离模糊内核?
我正在寻找一种内核,其降低速度几乎和高斯模糊一样快。
由于各种原因,我无法使用高斯模糊。 我更喜欢不需要三角函数的东西(否则我会使用像Hann这样的“Windows”)。
感谢。
答案 0 :(得分:4)
从评论到较早的答案,听起来你正在使用错误的假设,即计算高斯滤波器系数占应用高斯滤波器的成本的重要部分。这肯定是不的情况。计算密集型部分将系数与图像进行卷积。无论系数如何计算,任何给定的NxN滤波器的成本都是相同的。
应用高斯(或任何可分离滤波器)的伪代码:
(注意:在上面的讨论中,我假设是对称(NxN)滤波器。)
答案 1 :(得分:3)
如果您想要没有成本的高斯模糊效果,请多次进行框模糊。无限次的传球将复制高斯,但只需要~3就足以愚弄眼睛。
如果通过单独执行水平和垂直条带来实现框模糊,则非常快速的实现只是扫描每个像素条并保持运行总计,在前面添加像素半径/ 2,同时减去像素半径/ 2后面的像素并乘以缓存的1 /半径来计算运行平均值。
关于这一点的好处是,模糊的半径对计算所需的时间有可忽略的影响。
答案 2 :(得分:0)
盒式过滤器是可分离的,非常常见。但我真的不知道你正在寻找什么样的滤波器 - 例如,它应该是旋转对称的吗?如果不是,行和列模糊滤波器的任何卷积都是可分离的蓝色滤波器。
答案 3 :(得分:0)
可以使用一维信号处理中经典的已知窗口:
http://en.wikipedia.org/wiki/Window_function
可以使用外部产品创建2d内核 实施应与任何可分离的过滤器一样。