使用ImageMagick扫描图像的自动白色边框?

时间:2017-06-20 14:32:49

标签: imagemagick imagemagick-convert

我有200张扫描的照片,我想剪掉白色空间。请参阅示例:enter image description here

有人可以为我提供相应的命令行代码吗?...我一直试图找出-trim和-fuzz选项没有运气。并非所有图像都是相同的大小(即4x6,5x7等)。所有图像都被扫描/保存为jpg

理想情况是将新剪裁的照片保存在一个子目录中的脚本。

提前致谢!

2 个答案:

答案 0 :(得分:2)

我建议使用-morphology删除扫描工件,修剪,然后捕获生成的分页。

PAGE_OFFSET=$(convert TrmkF.jpg -morphology Dilate:3 Diamond:3,5 -fuzz 10% -trim -format '%xx%h%O' info:-)

$PAGE_OFFSET变量现在应该具有扫描照片的粗略位置。我们可以使用-crop命令应用该值。

convert TrmkF.jpg -crop $PAGE_OFFSET output.jpg

output

修改

A(powershell)批处理脚本可能看起来很简单......

Get-ChildItem "C:\path\to\photos" -Filter *.jpg | 
Foreach-Object {
    $pageOffset = magick $_.FullName -morphology Dilate:3 Diamond:3,5 -fuzz 10% -trim -format '%xx%h%O' info:- | Out-String
    $output = $_.FullName + ".output.jpg"
    magick $_.FullName -crop $pageOffset +repage $output
}

因人而异

答案 1 :(得分:0)

我发现上述方法产生了不好的结果,我认为MacOS上的格式有所不同,或在此处分享成功案例。我也遇到了同样的问题-数百张扫描的照片带有白色斑点,破坏了自动修剪功能。

我刚刚修改了另一个人的答案中的参数,并使用以下命令获得了惊人的结果:

  1. <img />进入图像文件夹
  2. cd
  3. v
mkdir ../done