Raf*_*fal 71 command-line imagemagick image-processing batch
我有很多图像周围有白色边框。我想一次裁剪这些边框,最好是从命令行裁剪。我相信它可以用 ImageMagick 完成,但我找不到合适的命令。
我知道它可以通过名为 Irfanview 的带有“自动裁剪边框”选项的 Windows 程序来完成,但我正在寻找基于 Ubuntu 的解决方案,最好是基于命令行的解决方案。
Tak*_*kat 95
trim
与convert
、 或一起使用的命令行选项mogrify
可让您修剪与图像边角颜色相同的边框。
用法:
convert input.png -trim output.png
Run Code Online (Sandbox Code Playgroud)
附加选项-fuzz
(以百分比作为参数,例如-fuzz 10%
)还会删除角颜色附近的颜色。使用该选项+repage
删除画布(如果适用)。
ImageMagick Trim 的上述命令也可用于批处理图像,同时与find
命令结合使用:
find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;
将修剪适合pattern
部分命令的所有图像并将它们保存在名为outputfolder
.
假设图像是 PNG,那么命令将如下所示:
find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;
虽然find
允许更好地控制输出文件的放置位置,但也可以对 ImageMagick 执行相同的操作mogrify
:
mogrify -trim *.png
如果您想在角落颜色附近裁剪颜色(根据您观察到的结果调整百分比):
mogrify -trim -fuzz 10% *.png
请注意,convert
使用find
和convert
mogrify 进行不同和批处理操作会覆盖所有文件。要保留原件,请在继续执行 mogrify 命令之前使用该-path
选项或对目录中的所有图像进行备份。
旁注:mogrify
可用于convert
批量执行大多数(如果不是全部)操作,同时覆盖原始文件。
正如 Trevor 在评论中指出的那样,您可以 -path 选项将转换后的文件输出到新目录而不覆盖原始文件:
mogrify -trim -path trimmed_folder/ *.png
IrfanView与 Wine运行得非常好。请务必仔细检查 Irfanview 的输出,因为它在与 Wine 一起使用时有时会破坏图像。