【发布时间】:2018-08-21 09:06:27
【问题描述】:
我正在使用PIL (Python Imaging Library) 在python 中制作一些照片编辑工具,并且我正在尝试制作一个将照片转换为其“绘画”版本的程序。
我已经设法制作了一个程序,可以将照片转换成不同的颜色,但问题是我使用的算法是在每个像素上运行,这意味着生成的图像在颜色之间有非常锯齿状的差异。
理想情况下,我想平滑这些边缘,但我不知道如何!
我已查看 this site 寻求帮助,但那里的方法产生的结果与我需要的完全不同。
我想平滑上图中的边缘。
如您所见,使用该技术并不能将边缘平滑成看起来自然的曲线;相反,它会创建锯齿状边缘。
我知道我应该提供示例输出,但令人惊讶的是,我实际上并没有得到它,所以我会尽可能地描述它。简单地说,我想平滑不同颜色之间的边缘。
我见过一种叫做高斯模糊的东西,但我不太确定如何在这里应用它,因为我看到的答案总是提到某种阈值,通常与二值图像有关,所以我认为它不适用于这里。
【问题讨论】:
-
我会说你的第一步是错误的。您应该对原始图片应用强大的非线性、边缘保持平滑。这将简化图像,减少您看到的颜色数量,但不会引入像这些不自然的边缘和颜色。在this answer 我展示了一个这样的过滤器。
标签: python algorithm image-processing python-imaging-library edges