有一堆图像代表页面,从书本扫描并已经使用ImageMagic进行裁剪。它们都是均匀的,629x625像素。我需要进一步处理它们以准备创建PDF:将它们分成奇数页和偶数页。它们的名称为canvas-00.png
到canvas-53.png
当我使用以下命令首先获取奇数页时,我得到了从错误的水平偏移中提取的完全屠宰图像275x563像素:
convert canvas-??.png -crop 314x625+0+0 ~/Pictures/odd/canvas.png
我做错了什么?
PS:最初图像较大,包含额外的边距,扫描仪的盖子可见,我使用非常相似的命令成功地将它们裁剪为629x625,但当然具有+140+71
的非零偏移。因此,令我感到困惑的是,一个明显更加微不足道的零偏移命令根本不起作用。
答案 0 :(得分:4)
我怀疑你的PNG文件中有页面偏移“记住”,你需要清除它们。
例如,让我们创建一个500x300像素的图像:
convert xc:red xc:lime +append \
\( xc:blue xc:magenta +append \) -append -resize 500x300\! start.png
现在让我们在右下角裁剪一块,我故意制作洋红色,这样你就可以看到我得到的那件:
convert start.png -crop 200x100+250+150 z.png
但是,如果我们现在用identify
查看它,你可以看到它“记住”它在原始图片中的位置:
identify z.png
<强>输出强>
z.png PNG 200x100 500x300+250+150 16-bit sRGB 51.1KB 0.000u 0:00.000
这将可能影响(即搞乱)您将来使用图像做的任何事情。解决方案是使用+repage
重置所有页面几何和布局,以便忘记它。您可以在裁剪时或稍后使用裁剪后的图像时执行此操作 - 具体取决于您是否要保留裁剪信息。 (有时你在做拼图游戏处理时确实需要它,并且可能希望稍后重新组装这些部分。)
convert start.png -crop 200x100+250+150 +repage z.png
identify z.png
z.png PNG 200x100 200x100+0+0 16-bit sRGB 51.1KB 0.000u 0:00.000
在您的情况下,如果您已经裁剪并保存而没有重新制作,则可以在实际使用前加载图片和重新制作:
convert canvas-??.png +repage -crop 817x1040+0+0 ~/Pictures/odd/canvas.png