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

Raf*_*fal 71 command-line imagemagick image-processing batch

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

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

Tak*_*kat 95

ImageMagick 修剪

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

用法:

convert input.png -trim output.png
Run Code Online (Sandbox Code Playgroud)

附加选项-fuzz(以百分比作为参数,例如-fuzz 10%)还会删除角颜色附近的颜色。使用该选项+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使用findconvert mogrify 进行不同和批处理操作会覆盖所有文件。要保留原件,在继续执行 mogrify 命令之前使用该-path选项或对目录中的所有图像进行备份

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

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

mogrify -trim -path trimmed_folder/ *.png

IrfanView

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

  • 我使用 `mogrify -trim *.jpg` 来裁剪当前文件夹中的所有图像。 (10认同)
  • 有没有办法沿其高度修剪 png 图像,保持宽度固定? (2认同)