如何从图像中裁剪边框/空白?


52

我有很多图像,它们周围有白色边框。我想一次裁剪所有边界,最好是从命令行开始。我相信可以使用ImageMagick完成此操作,但是我找不到合适的命令。

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


你尝试过金普吗?
米奇

1
@Mitch不,我不知道Gimp确实具有批处理模式。无论如何,使用ImageMagick Trim更简单,因此我将继续使用该解决方案。
拉法尔

骗子通常会建议使用GUI解决方案...
Wilf

Answers:


65

ImageMagick修剪

trimconvert或一起使用的命令行选项mogrify可让您修剪与图像角相同颜色的边框。

用法:

convert input.png -trim output.png

附加选项-fuzz还可以删除靠近角落的颜色。使用选项+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

请注意,不像convert与和批量操作findconvert mogrify覆盖所有文件。最好在执行 mogrify命令之前对目录中的所有映像进行备份

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

IrfanView

IrfanView在Wine上运行得很好。请务必仔细检查Irfanview的输出,因为与Wine一起使用时,有时会破坏图像。


有用。非常感谢你。我添加了有关在合并find命令时使用ImageMagick批处理图像的信息,因为您的答案中缺少该命令。
拉法尔

9
我曾经mogrify -trim *.jpg裁剪当前文件夹中的所有图像。
Buttle Butkus 2014年

1
这很棒。它节省了我很多时间。TX :)
antmw1361 2014年

@ButtleButkus我编辑了答案以包含该信息。由于某种原因,我之前忘记了此选项。
拉法尔2015年

1
有什么方法可以沿其高度修剪png图像,并保持宽度固定?
ddas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.