我可以使用gimp命令编写一个独立的python脚本吗?

时间:2012-10-25 16:47:35

标签: python image-processing gimp

我知道您可以为python编写GIMP脚本,然后通过GIMP您可以使用这些脚本作为插件,但我想要实现的是使用{{ 1}}通过GIMP's functions,好像您会通过Python使用PILscikit-image个功能。我不想打扰我的程序用户实际下载{{1}只执行我需要的一个功能。

我可以做这样的事吗?或者我走得太远了? 如果不是,我可以做的最好的替代方法是强制Python在没有打扰程序用户的情况下完成工作。在这种情况下,我想我将被迫在安装过程中安装Gimp是我讨厌的东西。

更新: -
(1)在谷歌搜索后考虑Gimp我找到了这个discussion。简言之,> “GIMP仅用于允许libgimp和它的插件进行通信”因此它无法正常工作。
(2)我想访问libgimp代码并删除我不需要的所有不必要的函数,并保留我将要使用的唯一函数,这将是一个函数GIMP。你认为我应该做些什么像那样?

更新: -
是的,问题已经解决,但我仍然有兴趣以任何方式使用GIMP core作为库,即使它是 Marawan 建议的卧底。希望你能提供帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

如果安装了GIMP,您可以尝试batch mode。另一种选择是to use gimp-fu

显然,如果您没有安装GIMP,则无法使用GIMP。 : - )

编辑

  

我想要访问GIMP代码并删除我不需要的所有不必要的函数,并保留我将使用的唯一函数,这将是一个函数GIMP。

这似乎过于雄心勃勃。 GIMP代码库庞大而复杂。

作为图像处理的替代方法,您可以使用ImageMagick python绑定查看Wand。或Python Imaging Library

答案 1 :(得分:1)

您可以使用类似portable gimp的内容:这样您就可以将gimp随程序一起提供,而无需用户进行额外安装。然后,您可以在python库中使用gimp的python脚本功能运行gimp操作。请看this answer这样做的例子。

在上面的例子中,对flip函数的每次调用都会产生一个新的gimp进程并等待它完成执行。这当然可能很慢。有两种提高速度的策略:

  1. 减少gimp启动时间using command line options that reduce startup time
  2. 在程序启动时启动一个gimp进程。让它保持运行并使用一些进程间通信技术与它通信,并在您希望它执行操作时发送指令。