2017-10-13 258 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