我有很多图片周围都有白边。我想一次性裁剪掉这些边框,最好是通过命令行操作。我知道可以使用ImageMagick来实现,但是我找不到合适的命令。
我知道可以使用Windows程序Irfanview,其中有一个“自动裁剪边框”的选项,但我正在寻找基于Ubuntu且最好是基于命令行的解决方案。
我知道可以使用Windows程序Irfanview,其中有一个“自动裁剪边框”的选项,但我正在寻找基于Ubuntu且最好是基于命令行的解决方案。
使用命令行选项trim
与convert
或mogrify
一起使用,可以修剪与图像角落相同颜色的边框。
用法:
convert input.png -trim output.png
-fuzz
(接受一个百分比作为参数,例如-fuzz 10%
)还会移除靠近边角颜色的颜色。
注意:-fuzz
选项必须在-trim
之前,因为选项的顺序对于convert
命令按预期工作很重要。+repage
可以去除画布(如果适用)。
find
命令结合使用以批处理处理图像:find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;
pattern
部分的所有图像,并将它们保存在名为outputfolder
的新文件夹中。find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;
虽然find
可以更好地控制输出文件的位置,但使用ImageMagick的mogrify
也可以实现相同的功能:
mogrify -trim *.png
mogrify -trim -fuzz 10% *.png
convert
和使用find
和convert
进行批量操作不同,mogrify
会覆盖所有文件。为了保留原始文件,请使用-path
选项或在执行mogrify
命令之前对目录中的所有图像进行备份复制。mogrify
可以用于批量执行大多数(如果不是全部)convert
操作,并覆盖原始文件。-path
选项将转换后的文件输出到新目录,而不会覆盖原始文件。mogrify -trim -path trimmed_folder/ *.png
IrfanView在Wine上运行得相当不错。但请务必仔细检查IrfanView的输出,因为有时候在与Wine一起使用时会损坏图像。
mogrify -trim *.jpg
命令来裁剪当前文件夹中的所有图片。 - Buttle Butkusmogrify
命令并加上-path
选项:mogrify -trim -path trimmed_folder/ *.png
。 - Trevor