2017-10-13 156 views
0

我對2700的圖像,我想:使白色背景透明使用ImageMagick

  • 轉換爲.png格式
  • 使白色背景,透明

要做到這一點,我下載ImageMagick使用Homebrew並在相關目錄中運行以下命令:

find . -type f -name "*.jpg" -print0 | while IFS= read -r -d $'\0' file; do convert -verbose "$file" -transparent white "$file.png"; done 

This wor ked,但是圖像下方仍然有幾個白色斑點。隨着灰白色的瓶子,它更難,因爲它使一些瓶子也是透明的!

在photoshop中,您可以調整「MagicWand」的「寬容度」,以確保不會發生這種情況,但我不確定如何使用ImageMagick執行此操作,並且無法在Google上找到任何內容。

Example of Image with white crust around outside

誰能幫助? ImageMagick有沒有這樣做的方法?有沒有更好的方式來處理這些2700圖像去除白色背景?

感謝 在ImageMagick的

$ convert img.jpg -fuzz 32% -transparent #ffffff out.png 

一個

+1

你可以嘗試允許一些*「fuzz」* ...'convert bottle.png -fuzz 10%-transparent white result.png' –

+0

實際上你想要使用Gimp的Color-to-alpha等價物,將邊緣上的灰色像素轉換爲部分透明的像素。在magick中沒有這樣的運算符,但存在一個很好的近似值,請參閱[這裏](https://stackoverflow.com/questions/26408022/imagemagick-color-to-alpha-like-the-gimp) – xenoid

回答

0

使用-fuzz選項這將允許您調整公差值。希望這有助於。

+0

謝謝Nipunasudha。這確實有幫助!而且,對於類似於白色的瓶子,它使一些瓶子變得透明。有什麼辦法可以避免這種情況發生? – Elfordy

+0

這裏是問題,每張照片都是不同的,只有你知道什麼是主題。我認爲沒有一種乾淨的方法可以做到這一點,除非您訓練機器學習模型來檢測主題。我也是一名平面設計師,從瓶子中移除背景並使其透明而不會丟失細節,即使是手動也不容易。 – nipunasudha