2013-03-15 117 views
7

這種情況是:我有許多掃描文檔的圖像。我想保留文檔的主要內容 - 以黑色(#000000周圍的小範圍顏色)打印。但是,你知道,文件總是充滿色彩:郵票,背景,裝飾品,標誌等。使用ImageMagick去除圖像中除黑色以外的所有顏色?

我只想保留那些用黑色打印的文本。

我試着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 

然後文本顯得更具可讀性,但其他顏色殘存下來了。

你能告訴我一個更好的解決方案爲我的情況嗎?每一個建議將不勝感激!

回答

17

要匹配除了黑色所有的顏色,你可以使用+opaque "#000000"

爲了有一個小範圍內圍繞#000000你可以嘗試用fuzz運營商不同的百分比:

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

在Windows測試用的ImageMagick 6.6.0-1

+0

一旦你去超過55%絨毛,它包括紅色但不是一些灰色,像#D9D9D9的顏色被忽略。有沒有辦法只保留所有的像素,我們看起來像黑/淺黑色。或者指定一系列的顏色? – 2017-01-09 11:51:51

4

我在尋找這個問題的答案時偶然發現了這個問題。我發現了一些幫助imagemagick論壇帖子。以下是我想出了:

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

論壇發帖:ImageMagick: Removing all but one color

+0

是的,謝謝。但是你的解決方案與我上面發佈的完全一樣。 – 2013-04-01 04:44:26

3

你應該嘗試level指令:

convert test.png -level 25%,75% test_level.png 
相關問題