【问题标题】:Autotrim white border from scanned image with ImageMagick?使用 ImageMagick 从扫描的图像中自动修剪白色边框?
【发布时间】:2017-06-20 14:32:49
【问题描述】:

我有大约 200 张扫描的照片,我想从中裁剪出空白区域。参见示例:

有人可以为我提供适当的命令行代码来执行此操作吗?...我一直在尝试整理 -trim 和 -fuzz 选项,但没有运气。并非所有图像的尺寸都相同(即 4x6、5x7 等)。所有图像均被扫描/保存为 jpg

理想的场景是一个脚本,其中新修剪的照片保存在一个子目录中。

提前致谢!

【问题讨论】:

    标签: imagemagick imagemagick-convert


    【解决方案1】:

    我建议使用-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
    

    编辑

    一个(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
    }
    

    ymmv

    【讨论】:

    • 谢谢!现在,由于我想批量执行此操作,我将如何编辑代码以不指定特定文件“TrmkF.jpg”并让代码简单地裁剪每个文件并保存在带有“imageXXX.jpg”的子目录中...... ?谢谢!
    • 你的 ImageMagick 版本和平台是什么?
    • 只需使用for loop 来遍历文件。在 linux/osx 中使用 bash script,或者在 windows 中使用 powershell
    • 我在 Windows 中使用 powershell,但非常新手......我将如何合并一个“for”循环......?我很擅长 python,但这是我在 ImageMagick 上的第一次破解
    • 尝试将 -format '%@' 替换为 -trim -format '%xx%h%g'。
    【解决方案2】:

    我发现上面的结果不好,我认为 MacOS 上的格式不同,所以在这里分享成功故事。我也遇到了同样的问题 - 数百张扫描照片,其中有一些白色斑点破坏了自动修剪功能。

    我刚刚从其他人的答案中修改了参数,并使用它得到了惊人的结果:

    1. cd 进入您的图片文件夹
    2. mkdir ../done
    3. v
    echo "$f";\
    size=$(magick "$f" -bordercolor White -border 10x10 \
    -morphology Dilate:5 Diamond:5,7 -fuzz 5% -trim \
    -format "%wx%h%O" info:-); \
    echo $size; \
    magick "$f" -bordercolor White -border 10x10 -crop $size +repage "../done/$f"; done;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 2011-11-23
      • 2013-09-13
      • 2021-08-15
      • 2013-12-07
      • 1970-01-01
      相关资源
      最近更新 更多