【问题标题】:Batch cleanup of raggedy edges on PNG files批量清理 PNG 文件上的参差不齐的边缘
【发布时间】:2016-04-14 03:52:46
【问题描述】:

我有一个 PNG 图像(实际上是一大堆),它天生就有背景,然后被透明度所取代。我不确定它是怎么做到的,但我收到的文件中有一堆不整齐的边缘需要删除。

我知道如何在 GIMP/Photoshop 中解决这个问题,但是我有一堆东西要修复——我需要使用 ImageMagick(或其他一些命令行实用程序)。我想要的结果是图像边缘清晰,同时保留原始图像的 Alpha 通道透明度和颜色。

我过去曾使用 ImageMagick 来转换文件格式和调整图像大小,但除此之外我没有太多经验。

我尝试了很多不同的东西,但只有一个(如下)接近我想要实现的目标。

这是我开始的……

这是我能做到的最好成绩

我使用 ImageMagick 通过羽化来清理它。我使用了这个命令:

convert test.png -alpha set -virtual-pixel transparent -channel A -blur 0x1.7 -level 50,75% +channel testFeathered.png

是否有其他任何人可以推荐的方法或技术来实现图像平滑边缘而不弄脏颜色的目标?

【问题讨论】:

  • 可以在 Alpha 通道上使用 IM 的形态来去除一些孤立和不透明的像素。但是,您的方法似乎很可靠。
  • 感谢您的回复!非常感谢形态学的建议。

标签: image-processing imagemagick antialiasing


【解决方案1】:

尝试使用potrace 生成不透明度的平滑矢量并将其重新应用回原始图像:

所以,首先将 alpha 通道提取到 PGM 文件中:

convert dress.png -alpha extract opacity.pgm

然后用potrace平滑alpha通道并保存为opacitysmooth.pgm

potrace -b pgm -o opacitysmooth.pgm opacity.pgm

然后将原图的不透明度换成平滑过的:

convert dress.png opacitysmooth.pgm -compose copyopacity -composite result.png

一旦理解了所有内容,您就可以像这样一次性完成所有操作:

convert dress.png -alpha extract pgm:- | 
  potrace -b pgm -o - - | 
  convert dress.png - -compose copyopacity -composite result.png

【讨论】:

  • 很棒的解决方案!我从来不知道potrace!对于那些在家跟随的人来说,这是一个 Brew 配方。 brewformulas.org/Potrace
猜你喜欢
  • 2021-09-07
  • 2016-03-08
  • 2013-01-29
  • 1970-01-01
  • 2023-03-05
  • 2016-04-22
  • 2013-08-18
  • 2021-11-26
  • 1970-01-01
相关资源
最近更新 更多