使用ImageMagick删除图像中除黑色外的所有颜色?

van*_*con 8 colors imagemagick

情况是:我有许多扫描文件的图像.我想保留文档的主要内容 - 以黑色打印(#000000周围的一小部分颜色).但是,你知道,文件总是充满了颜色:邮票,背景,装饰品,徽标......等等.

我只想保留仅用黑色印刷的TEXTS.

到目前为止,我已尝试使用ImageMagick和此命令:

convert X.png -matte (+clone -fuzz 20% -transparent "#000000") -compose DstOut -composite X1.png
Run Code Online (Sandbox Code Playgroud)

但结果并不像预期的那样,文字非常破坏,我看不懂.有人建议我把模糊增加到70%:

convert X.png -matte (+clone -fuzz 70% -transparent "#000000") -compose DstOut -composite X1.png
Run Code Online (Sandbox Code Playgroud)

然后文本看起来更具可读性,但其他颜色也保持不变.

你能告诉我一个更好的解决方案吗?每一个建议都将受到高度赞赏!

And*_*rea 21

要匹配除黑色以外的所有颜色,您可以使用+opaque "#000000".

为了在#000000周围加入一个小范围,您可以尝试与fuzz运营商不同的百分比:

convert input.png -fill white -fuzz 10% +opaque "#000000" result.png
Run Code Online (Sandbox Code Playgroud)

在Windows上使用ImageMagick 6.6.0-1进行测试

  • 一旦绒毛超过 55%,它就会包含红色,但不包含一些灰色,像 #D9D9D9 这样的颜色将被忽略。有没有办法只保留对我们来说看起来像黑色/浅黑色的所有像素。或者指定颜色范围? (2认同)

小智 5

我在寻找这个问题的答案时偶然发现了这个问题。我发现了一些有帮助的 imagemagick 论坛帖子。这是我想出的:

convert input.gif -matte \( +clone -fuzz 1 -transparent black \) -compose DstOut -composite ~/Desktop/output.png
Run Code Online (Sandbox Code Playgroud)

论坛帖子:ImageMagick:除一种颜色之外的所有颜色