具有多项选择的图像项目,导出到单独的文件

平面设计 adobe-photoshop 瘸子 出口 选择 corel-paint-shop-pro
2022-02-18 14:18:05

对于一个爱好游戏开发项目,我正在寻找一种自动化以下工作流程的方法,可以在任何照片/图像编辑工具中。

  1. 加载高分辨率图像
  2. 进行多项选择
  3. 给每个选择一个名字
  4. 将每个选择导出到单独的 PNG 文件(带有名称)
  5. 将选择的坐标导​​出到文本文件(名称 = x、y、h、w)
  6. 保存带有选择的图像以供以后使用或重新导出

简而言之,获取高分辨率图像,进行多项选择,然后将每个选择导出到单独的 PNG 文件,同时还将选择坐标列表导出到文本文件。在下面的模型图像中查看我的意思:

保存多个选择以分隔图像和坐标文件

我现在正在手动完成所有这些步骤,大多数图像都有 70-80 个部分。每当出现错误,图像更新,分辨率变化等。我必须重做大部分甚至整个事情,即使选择大致相同。

一些照片编辑器程序支持插件和脚本,我可以做脚本(lua,python,javascript)没问题。但我不知道任何支持保存多个选择的照片编辑器。如果您在任何照片编辑器(如 Painshop、PhotoShop、Coral Draw 或 Gimp 或 Paint Dot Net 等开源程序等)中知道一个很好的解决方案,请告诉我。

4个回答

但我不知道任何支持保存多个选择的照片编辑器。

Gimp的解决方案:

  • 在脚本中,做相当于Select>To path(使用pdb.plug_in_sel2path(image, drawable)函数)。这将创建一个由多个“笔画”组成的路径,每个笔画都是一条闭合曲线,代表您选择的项目之一 (*)。
  • 然后,您可以迭代路径中的笔划,并为每个笔划:
    • 从中创建一条新路径
    • 从该路径中进行选择
    • 创建一个仅包含该选择的新图层
    • 将该图层保存到文件
    • 将该图层的偏移量复制到您的数据文件(请注意,由于笔划点的坐标很容易获得,您还可以计算对象的质心)

对于 Python 中的一些示例 Gimp 脚本,包括主要处理路径的一整套脚本,请参见此处此处

(*) 一些Gimp 路径基础知识

GIMP 的(部分/尚未工作)解决方案,使用一个选择的分离片段(“笔划”):

  1. Andrew Kvalheim 的 GIMP 脚本放入文件中~/.gimp-2.8/scripts/export-selected-regions.scm(或 Windows / Mac OS X 上的等效位置)。

  2. 启动 GIMP。

  3. 创建您的选择。

  4. 从菜单中选择“选择→导出选定区域”。(这是脚本添加的新菜单项。)

注意事项:

  • 从 GIMP 2.8 开始,这个脚本不起作用,抱怨“未知的图像格式”。所以它需要更新,然后提供解决方案。当你让它工作时,请在评论中报告。

  • 与基于路径的解决方案相比(在此处的其他答案中),此解决方案需要更少的点击工作来定义选择,但仅适用于 (1) 您不需要为输出图像自定义名称和 (2)您的所有选择都不会重叠(因为这会在定义选择时导致一个合并的“笔划”,从而导致该“笔划”的一个输出图像)。

GIMP 的(部分/尚未工作)解决方案,使用“进行选择,将其保存为 PNG,重复”的快速半自动化过程:

  1. Save Area 脚本放入文件~/.gimp-2.8/scripts/savearea.scm(或 Windows / Mac OS X 上的等效位置)。

  2. 启动 GIMP。

  3. 转到“编辑→键盘快捷键”并为“文件→保存区域”菜单项(由您安装的脚本添加的那个)分配一个键盘快捷键。您可以使用不带修饰符的单个键,例如/.

  4. 要使用脚本:

    1. 做出选择。
    2. 按您分配的快捷方式以访问“文件→保存区域”功能,并将选择保存到文件中。
    3. 对要保存的所有选择重复此操作。

警告:该脚本最后一次更新是在 2007 年,因此可能无法在当前的 GIMP 2.8 中工作(虽然我没有测试它)。但这是可以修复的部分解决方案。安装说明提到,如果脚本不起作用,则应将源图像转换为另一种格式。带有“图像 → 模式 → RGB”的 PNG 似乎是一个不错的选择,因为脚本本身使用该格式来保存选择。

由原始海报@BdR 开发并在此评论中提到的(完全有效的)解决方案。它是迄今为止最先进的 GIMP 解决方案,并且在当前的 GIMP 2.8 中完全运行。

  1. 将脚本export_paths_to_png.py放入文件夹~/.gimp-2.8/plug-ins/(或 Windows / Mac OS X 上的等效位置)。

  2. 在 Linux 下,使该脚本可执行:

    chmod a+x ~/.gimp-2.8/plug-ins/export_paths_to_png.py
    
  3. 在 Linux 下,使生成的文件在脚本中使用/而不是作为目录分隔符(第2968行)。\

  4. 启动 GIMP。

  5. 为每个选择创建并命名 GIMP 路径:

    1. 创建选择。

    2. 在“路径”对话框中,单击“选择路径”。

    3. 可选:重命名您的路径。保存时路径名将用作文件名。

    4. 重复所有选择。

  6. 单击“过滤器 → 路径 → 将路径导出为 PNG”(您安装的脚本添加的菜单项),填写对话框并单击“确定”。

好处:

  • 完全适用于当前的 GIMP 2.8(我测试过)。
  • 通过将图像保存为 GIMP 原生格式,您可以将所有路径与图像一起保存.xcf当您需要进行一些更改并稍后重新导出图像时,这可以节省工作。
  • 当您调整图像大小时,路径会按比例调整大小,因此它们仍然“适合”。
  • 路径可以毫无问题地重叠,因此可以在需要时将像素作为多个输出图像的一部分导出。
  • 所有路径的名称、原点坐标和大小也作为文本文件保存orgcoords.json在您的输出目录中,供您自己的脚本使用。如果您的路径是使用 GIMP“矩形选择工具”进行的简单选择,则有关它们的所有信息都以.json这种方式包含在文件中。