如何裁剪图像中的边框/空白区域?

如何裁剪图像中的边框/空白区域?

我有很多图片周围都有白色边框。我想一次性裁剪掉这些边框,最好是从命令行进行。我相信可以用 ImageMagick 来完成,但我找不到合适的命令。

我知道可以使用带有“自动裁剪边框”选项的名为 Irfanview 的 Windows 程序来完成,但我正在寻找基于 Ubuntu 且最好是基于命令行的解决方案。

答案1

ImageMagick 修剪

与 或trim一起使用的命令行选项允许您修剪与图像角落相同颜色的边框。convertmogrify

用法:

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批量操作不同,findconvertmogrify覆盖所有文件。要保留原件,请使用选项-path做备份在继续执行该命令之前,先查看目录中的所有图像mogrify

旁注:mogrify可用于convert批量执行大多数(如果不是全部)操作,同时覆盖原始文件。

作为Trevor 在评论中指出,您可以使用-path选项将转换后的文件输出到新目录而不覆盖原始文件:

mogrify -trim -path trimmed_folder/ *.png

伊凡视界

IrfanView 运行与 Wine 完美搭配。请务必仔细检查 Irfanview 的输出,因为它与 Wine 一起使用时有时会破坏图像。

相关内容