裁剪产品图像但保持产品居中和图像 height/width 相同(批处理,linux,cli)

crop product images but keep product centered and image height/width the same (batch, linux, cli)

我正在为计划在 WooCommerce 中销售的产品拍照。我才刚刚开始,现在我用我的手机 phone 使用三脚架和立方体照片拍摄它们。质量和灯光都很好。

目前我似乎无法使每张图像的三脚架距离保持相同,因此 object 可能比其他的稍小或稍大。

我想要的是使用 imagemagick 或 mogrify 之类的命令来(自动)裁剪图像,因此假设产品是现实生活中也有类似的尺寸。

然后在 object 周围添加一点空白,使每张图片的高度和宽度都相同。这样 Woocommerce 将在目录页面上很好地显示它们。

现在有点乱。某些产品在特定区域的空白过多,导致标题未对齐和页面整体外观不佳。

另外(好像我还没有让它变得足够困难一样)重要的是 下面的空白 图像必须对所有图像都相同,因为 object图片中的必须与旁边的其他 object 水平。

我有 4200 张图片需要这个,如果有任何帮助,我将不胜感激。我使用 debian,更喜欢批处理命令或应用程序。

由于你没有提供图片,我在这里伪造了一张,带有黄色边框。我会按照您的要求进行操作,但使用洋红色和青色以便您可以看到效果 - 因此您需要将这些颜色替换为白色。

首先,trim当前边框:

convert start.png -trim 1.png

现在在底部添加一个 100 像素的固定高度条:

convert 1.png -background magenta -gravity south -splice x100 2.png

现在向左、向右和顶部填充,但不向底部填充标准尺寸:

convert 2.png -gravity south -background cyan -extent 500x500 3.png

当然,您可以一次完成所有这些:

convert start.jpg -trim                            \
   -background magenta -gravity south -splice x100 \
   -gravity south -background cyan -extent 500x500 result.png