【发布时间】:2020-09-29 12:21:42
【问题描述】:
我看到了有关从多张图像中提取位置相似的裁剪区域的问题。这个问题正好相反,我还没有找到任何有用的工具。
我有多个区域的图像要提取到单独的图片文件中。提取区域的位置因图片、形状和大小以及区域数量而异,但通常为矩形。我已经尝试过 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 可能,如果球之间的距离足够远,可以将绿色毛毡用作分隔符)。
有什么想法吗?
【问题讨论】:
-
这个社区很棒。我得到了两个很好的答案和几个有用的 cmets。我一直在尝试下面的 ImageMagick 脚本,并且在典型的书架上取得了不错的效果;该解决方案的最佳之处在于对正在做什么以及为什么出色的描述 - 即使您不必处理这样的图像,也请阅读它(我没有尝试过,但它可能适用于各种其他类型图片)。
-
请考虑接受其中一个答案,如果它们是正确且有帮助的,则可能对这两个答案都投赞成票。这样一来,您和作者都将获得荣誉,未来的读者就会知道答案是有效的。单击计票旁边的空心对勾(复选标记)接受答案。谢谢。
标签: image imagemagick crop gimp