边缘如何保持平稳工作?这是一个图像滤镜,可以模糊图像而不会弄乱边缘。
我在Google上的搜索只发现了讨论数学的学术论文,这些都超出了我的理解范围。
你能提供一些伪代码或一个简单解释的链接吗?
答案 0 :(得分:3)
首先,这样做有很多数学,所以如果你不理解你找到的数学方程式,我会试着用简单的术语来解释它:
Smoothing通常是通过对相邻像素进行某种加权平均来完成的。
因为这基本上是数学,而图片基本上是3D矩阵,所以你可以通过基本矩阵数学处理有效地实现smoothing。
现在要获得edge detection,您只需要找到相邻像素之间的差异(或者如果它是宽边,则可以设置最大宽度),这也只是矩阵的gradient 。 (多维导数)。
所以,即使你天真地做,也可以使用渐变作为加权像素颜色平均值的权重因子。
我假设你会发现大多数数学方程在某种程度上使用梯度,但只是使它更有效(单个数学公式与许多循环相对)
答案 1 :(得分:0)
如果你采用一个非常简单的2D平滑滤波器(如盒子或高斯内核),它将在所有方向上均匀地平滑(对于高斯比盒子更真实。)基本思想是以某种方式使滤波器平行于平滑边缘(或沿着它),但尽可能不垂直于它(或跨越它)。
但是,您不知道先验图像中任何给定点的边缘方向,因此您必须弄明白这一点。大多数边缘保持平滑最终做的是计算边缘局部的方向,然后应用适当的平滑方向。有些人更明确地执行了这两个步骤,有些人只是将所有数学结果合而为一。
答案 2 :(得分:0)
中值滤波器可能对您有所帮助,因为它可以保持图像中的边缘既清晰又适当,同时消除了外围噪声。它的工作原理是将每个像素替换为其邻域中的中间像素,即如果您按值对邻域像素进行排序,则该像素将是中间像素。