首页 > 解决方案 > 是否有 Linux 工具可以从单个图像中提取多个裁剪部分?

问题描述

我已经看到有关从多个图像中提取类似位置的裁剪区域的问题。这个问题正好相反,我还没有找到任何有用的工具。

我有多个区域的图像要提取到单独的图片文件中。提取区域的位置因图片、形状和大小以及区域数量而异,但通常为矩形。我尝试过 ImageMagick 和其他工具,但没有一个提供具有这种功能的交互模式,而且充其量都是痛苦的。

例如,想象一张书架的图片。大多数书是直立的,书的厚度和书的高度不同,少数书是倾斜的,可以支撑其他书。我正在寻找的是一种将每本书的书脊提取到单独图像的工具(具有名称模式(例如“spines-%%”),或者原件的后缀就可以了,例如“书.png 将给出“books-1.png”、“books-2.png”等。原始的“books.png”将被保留。重命名每个裁剪部分的能力会很好。)这个想法是绘制第一个裁剪框,当它的大小/形状正确时按“提取”按钮,然后再做一个裁剪框,再做一个,任意次数。

使用 ImageMagick、GIMP 等,目前必须: - 检查每张图像,并提前确定所需提取的数量 - 为每次所需提取制作原始图像的副本,每次稍微更改名称 - 编辑(使用 magick , gimp 等):放置一个裁剪框,裁剪到那个,保存每个裁剪的图像(ImageMagick 和其他)或导出它(GIMP),用现在更小的裁剪框部分覆盖完整的(例如书架图像副本)图像 -关闭该文件并打开集合中的下一个(或在 ImageMagick 中使用 Next - 一个小但有用的东西) - 如果需要,删除原始的多图像文件,或将它们移动到安全的地方

然后,对数百个合成图像执行此操作。哎哟! multicrop 和 multicrop2 等脚本无法做到这一点,因为它们需要在书脊之间定义明确的间隙。CLI 工具无法做到这一点,因为脊椎的位置及其大小在每张图片中都会发生变化。如前所述,GIMP、ImageMagick、gthumb 等可以一一完成,但它需要大量的中间步骤和文件,甚至可能出现小错误(比如错误计算书籍的数量)在架子上)只有一个数字需要重做。尝试根据书籍颜色、文本等进行自动化本身就是一项艰巨的任务,如果多重裁剪的下一个图像不同,比如从台球桌中提取每个台球的裁剪视图,该怎么办?基于书籍的预处理器不起作用(尽管 multicrop2 可能,

想法,有人吗?

标签: imageimagemagickcropgimp

解决方案


nip2libvips的GUI,可让您拖动裁剪框并通过单击保存在每个位置。它是大多数 linux 的一部分,只需检查您的包管理器即可。它带有手册:按 F1 寻求帮助。

加载图像,双击打开视图窗口,按住 CTRL 并向下和向右拖动以创建一个区域并将其放置在其中一个对象上。返回主窗口,右键单击该区域并选择“另存为”。在文件对话框中,勾选“增量文件名”,输入一个类似“area0001.png”的名称,然后在文件保存对话框中按“确定”。

在此处输入图像描述

保存对话框将保持固定状态,文件名将递增。现在将区域重新定位到另一个对象上,然后再次按 OK。您可以继续这样做——每次保存只需单击一次。

您也可以进行旋转矩形选择:只需选择 Toolkits / Image / Transform / Rotate / Free 以制作旋转图像,然后在其上标记区域。您每次都可以拖动旋转滑块以使对象直立。


推荐阅读