是否有一种简单的方法可以转换文件夹中的所有图像,因此每个具有特定颜色的像素都会被删除?
答案 0 :(得分:2)
您应该定义“已删除”的含义。如果您的意思是替换为其他(背景)颜色,您可以像这样转换单个文件:
convert -fill REPLACEMENT_COLOR -opaque ORIGINAL_COLOR \
ORIGINAL_IMAGE MODIFIED_IMAGE
如果“删除”是指让像素透明,那么您可以像这样转换单个文件:
convert -transparent ORIGINAL_COLOR ORIGINAL_IMAGE MODIFIED_IMAGE
其中ORIGINAL_IMAGE和MODIFIED_IMAGE分别是输入和输出图像文件,ORIGINAL_COLOR和REPLACEMENT_COLOR是ImageMagick color format中的原始颜色和替换颜色。
现在,例如,这将替换当前目录中所有图像中所有带有白色像素的红色像素,并使用前缀为“modified _”的名称保存它们:
for f in *; do
convert -fill white -opaque red "$f" "modified_$f"
done