[英]Cropping images with ImageMagic produces wrong size images - why?
有一堆代表页面的图像,这些图像是从书本中扫描并已经使用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
的非零偏移量。 因此,令我感到困惑的是,零偏移量明显更微不足道的命令根本不起作用。
我怀疑您的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.