在Ubuntu上剪切并连接imagemagick中的图像
我是一名对在Ubuntu上剪切并连接imagemagick中的图像,imagemagick,Imagemagick,我是一名对imagemagick了解甚少的程序员。我有一大组PNG图像,需要通过googlevisionapi从中提取文本。由于这个API非常昂贵,我想尽量减少请求的数量,所以我想将多个图像合并到一个不超过4MB大小的图像中 我附上了一个样本图像 此图像包含30个用户数据块。每个区块都有一个空白的照片部分。我想删除这个空白部分(文本到垂直线后的整个部分) 加入30张这样的图片中的结果图片。我想将30-40个图像中的所有用户数据图像合并到单个图像中。因此,它将像一幅图像中的900个用户数据块 我请
imagemagick
了解甚少的程序员。我有一大组PNG
图像,需要通过googlevisionapi
从中提取文本。由于这个API非常昂贵,我想尽量减少请求的数量,所以我想将多个图像合并到一个不超过4MB大小的图像中
我附上了一个样本图像
我请求一些
imagemagick
专家来帮助我。您可以像这样裁剪出第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
convert c1.png c2.png c3.png +append result.png
并将尽可能多的数据连接到一起,以达到4MB,如下所示:
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
convert c1.png c2.png c3.png +append result.png
我注意到原来的是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
你试过什么?在提出问题之前,你应该至少付出一些努力。所有数据块看起来都一样,因此删除照片部分非常简单。正如将它们制作成大型图像一样,如果您进行搜索,本论坛上也有关于这样做的帖子。对平面黑色区域进行编码不会占用太多空间,因此删除它们不太可能为您节省太多空间。@MarkSetchell,但它将帮助我减少生成图像的宽度和高度。是吗?是的,但你的问题让我相信Google Vision API限制在4MB,而不是任何像素高度或宽度。30张图像节省了20%左右,然后@Mark Setchell OP说他有900张,所以应该在4MB的限制范围内。我想知道OCR在图像质量上的效果如何。@MarkSetchell非常感谢,我将以此为基础。如果你还记得我在尝试tesseract,但是它对于我的数据量来说太慢了,所以我求助于使用Google API,但是它有点侮辱我作为一个开发人员,我无法想出一个解决方案。