algorithm - 任何人都可以提供一个平易近人的解释来说明边缘保持平滑是如何工作的吗?

标签 algorithm image language-agnostic

边缘保持平滑是如何工作的?这是一个图像过滤器,可以模糊图像而不弄乱边缘。

我在 Google 上的搜索只找到了讨论我无法理解的数学的学术论文。

您能否提供一些伪代码或指向简单解释的链接?

最佳答案

首先,这样做涉及很多数学,所以如果您不理解您找到的数学方程式,我会尝试用简单的术语来解释它:

Smoothing通常是通过对相邻像素进行某种加权平均来完成的。

因为这基本上是数学,而图片基本上是3D矩阵,你可以实现smoothing高效地进行基本的矩阵数学运算。

现在得到edge detection你只需要找到相邻像素之间的差异(或者如果它是一个宽边,你可以设置一个最大宽度),这又是 gradient的矩阵。 (多维导数)。

因此,即使您天真地这样做,您也可以使用梯度作为加权像素颜色平均值的权重因子。

我假设你会发现的大多数数学方程都在某种程度上使用了梯度,但只是让它更有效(单个数学公式与许多循环相反)

关于algorithm - 任何人都可以提供一个平易近人的解释来说明边缘保持平滑是如何工作的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6738873/

相关文章:

algorithm - 查找具有给定 Xor 的子集的数量

javascript - 使用输入 slider 放大带有对象的伪空间的正确方法

c# - 下载图像并将其保存到 Application.persistentDataPath 会挂起应用程序

c - 混合文本,由 FreeType 以颜色和 alpha 渲染

language-agnostic - rc代表什么

algorithm - 如何将 N 个数字分配到最小化某些目标函数的 M 包中?

javascript - Javascript 是否有办法执行 "find_if"或 "FirstOrDefault"?

html - 显示图像全尺寸 css

java - 在 Android 中删除旋转图像不显示删除正确路径

swift - 当没有真正的 "else"案例涵盖所有内容时,我如何根据特定条件最好地处理返回特定对象?