有没有一种简单的方法可以转换文件夹中的所有图像,从而删除具有特定颜色的每个像素?
最佳答案
您应该定义“移除”的含义。如果您的意思是用其他(背景)颜色替换,您可以像这样转换单个文件:
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
关于linux - 如何删除文件夹内每个文件上特定颜色的所有像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477556/