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

时间:2013-03-15 07:32:11

标签: colors imagemagick

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

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

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

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

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

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

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

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

3 个答案:

答案 0 :(得分:20)

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

为了在#000000周围添加一个小范围,您可以使用fuzz运算符尝试不同的百分比:

convert input.png -fill white -fuzz 10% +opaque "#000000" result.png

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

答案 1 :(得分:4)

我在寻找这个问题的答案时偶然发现了这个问题。我找到了几个有帮助的imagemagick论坛帖子。以下是我提出的建议:

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

论坛帖子:ImageMagick: Removing all but one color

答案 2 :(得分:3)

您应该尝试level命令:

convert test.png -level 25%,75% test_level.png