Imagemagick convert -fill不会更改特定调色板区域的边缘
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Imagemagick convert -fill不会更改特定调色板区域的边缘相关的知识,希望对你有一定的参考价值。
当我尝试使用以下命令从此图像中删除Green (#09f80c)
颜色时
magick convert images/img001.png - fill transparent -opaque #09f80c images/tp.png
我在下面的图像:
我得到的这张图片作为上述命令的输出。此图像边缘仍有一些绿点。如何完全删除它们?
我希望转换后的图像没有那些额外的像素。
非常感谢您的帮助。
答案
在Imagemagick中,你可以像Andy建议的那样使用-fuzz。但是,在开始更改其他区域以及绿色之前,您只能增加模糊值。
首先测量颜色尽可能接近。我得到#2FF81D
这是关于此图像尽可能大的模糊值。但它外面还有一些绿色。 (Unix语法)
convert green.jpg -fuzz 35% -transparent "#2FF81D" green_trans1.png
为了进一步降低效果,您可以通过模糊一点并逐渐变细(通过-level)来消除透明区域的边界。
convert green.jpg -fuzz 35% -transparent "#2FF81D" -channel a -blur 0x3 -level 50x100% +channel green_trans2.png
另一答案
也许你应该尝试-fuzz
参数,例如-fuzz 40%
。
我在这里的文档中找到了这个:
http://www.imagemagick.org/Usage/color_basics/#replace
以上是关于Imagemagick convert -fill不会更改特定调色板区域的边缘的主要内容,如果未能解决你的问题,请参考以下文章
分享一种压缩gif图片的方法,使用convert (ImageMagick中的命令)压缩图片
sh 用于从给定图像创建ASCII输出的简单脚本。使用`ImageMagick`,`jp2a`和`rsvg-convert`