在Ubuntu上的imagemagick中剪切并连接图像

时间:2018-01-07 09:44:49

标签: imagemagick

我是一名对imagemagick了解甚少的程序员。我有一大堆PNG张图片,我需要通过Google Vision API从中提取文字。由于这个API非常昂贵,我想最大限度地减少我发出的请求数量,所以我想将许多图像加入到不超过4MB大小的单个图像中。

我附上了一张示例图片。 enter image description here

  1. 此图像有30个用户数据块。每个块都有一个空白的照片部分。我想删除这个空白部分(文本后的整个部分到垂直线)。
  2. 加入来自30个此类图像的结果图像。我想将30-40张图像中的所有用户数据图像加入到单张图像中。因此,它将像一个图像中的900个用户数据块。
  3. 我请求一些imagemagick专家帮助我。

1 个答案:

答案 0 :(得分:1)

你可以像这样裁剪出第1,2和3列:

convert sheet.png +repage -crop 240x+0+0 c1.png
convert sheet.png +repage -crop 240x+376+0 c2.png
convert sheet.png +repage -crop 240x+750+0 c3.png

enter image description here

enter image description here

enter image description here

然后尽可能多地加入到4MB,如下所示:

convert c1.png  c2.png c3.png +append result.png

enter image description here

我注意到原始的是22kB,减少的是17kB。

请注意,如果您喜欢这种方法,可以按如下方式在一行中完成所有操作。我没有添加附加部分,因为根据尺寸可以变化:

convert sheet.png +repage \
   \( +clone -crop 240x+0+0   -write c1.png +delete \) \
   \( +clone -crop 240x+376+0 -write c2.png +delete \) \
   -crop 240x+750+0 c3.png