我有很多图片周围都有白色边框。我想一次性裁剪掉这些边框,最好是从命令行进行。我相信可以用 ImageMagick 来完成,但我找不到合适的命令。
我知道可以使用带有“自动裁剪边框”选项的名为 Irfanview 的 Windows 程序来完成,但我正在寻找基于 Ubuntu 且最好是基于命令行的解决方案。
答案1
ImageMagick 修剪
与 或trim
一起使用的命令行选项允许您修剪与图像角落相同颜色的边框。convert
mogrify
用法:
convert input.png -trim output.png
附加选项-fuzz
(以百分比作为参数,例如-fuzz 10%
)还会删除靠近角落颜色的颜色。
笔记:选项-fuzz
必须在前面,-trim
因为选项的顺序对于convert
命令是否按预期工作很重要。
使用该选项+repage
删除画布(如果适用)。
ImageMagick 批量修剪(查找)
上述 ImageMagick Trim 命令还可以与以下命令结合使用来批量处理图像find
:
find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;
上述命令将修剪所有符合pattern
命令部分的图像并将其保存在名为 的新文件夹中outputfolder
。
假设图像是 PNG,则命令将如下所示:
find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;
ImageMagick 批量修剪 (mogrify)
虽然find
允许更好地控制输出文件的放置位置,但也可以使用 ImageMagick 执行相同的操作mogrify
:
mogrify -trim *.png
如果您想裁剪靠近角落的颜色(根据您观察到的结果调整百分比):
mogrify -trim -fuzz 10% *.png
请注意与和 的convert
批量操作不同,find
convert
mogrify
覆盖所有文件。要保留原件,请使用选项-path
或做备份在继续执行该命令之前,先查看目录中的所有图像mogrify
。
旁注:mogrify
可用于convert
批量执行大多数(如果不是全部)操作,同时覆盖原始文件。
作为Trevor 在评论中指出,您可以使用-path
选项将转换后的文件输出到新目录而不覆盖原始文件:
mogrify -trim -path trimmed_folder/ *.png
伊凡视界
IrfanView 运行与 Wine 完美搭配。请务必仔细检查 Irfanview 的输出,因为它与 Wine 一起使用时有时会破坏图像。