Is there a easy way to convert all images in a folder, so every pixel with a specific color is removed?
问问题
62 次
1 回答
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 颜色格式的原始颜色和替换颜色。
现在,例如,这会将当前目录中所有图像中的所有红色像素替换为白色像素,并使用前缀为“modified_”的名称保存它们:
for f in *; do
convert -fill white -opaque red "$f" "modified_$f"
done
于 2013-05-10T09:36:58.500 回答