10

情况是:我有很多扫描文件的图像。我想保留文档的主要内容 - 以黑色打印(#000000 附近的一小部分颜色)。但是,您知道,文件总是充满色彩:印章、背景、装饰品、标志……等等。

我只想保留以黑色打印的文本。

到目前为止,我已经尝试过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

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

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

4

3 回答 3

26

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

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

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

在 Windows 上使用 ImageMagick 6.6.0-1 测试

于 2014-01-07T16:08:13.490 回答
5

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

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

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

于 2013-03-31T21:31:58.797 回答
3

您应该尝试level命令:

convert test.png -level 25%,75% test_level.png
于 2016-07-02T06:04:20.747 回答