我正在为 GIMP 开发一个 python 插件,我想获得一个层的 RGB 矩阵作为一个 numpy 数组。要访问 python 插件中的层,我使用下面的代码:
def python_function(img, layer):
layer = img.layers[0]
我想创建layer
一个变量,而不是 gimp.Image 变量,一个 numpy 数组,其中包含每个像素的 RGB 值。我在其他 nonGimp-python 代码中使用的是下一行:frame2 = misc.imread('C:\Users\User\Desktop\image2.png').astype(np.float32)
. 如果我打印frame2
,我会得到一个这样的矩阵,其中包含每个像素的 RGB 值:
[[[ 111. 179. 245.]
[ 111. 179. 245.]
[ 111. 179. 245.]
...,
[ 95. 162. 233.]
[ 95. 162. 233.]
[ 95. 162. 233.]]
[[ 111. 179. 245.]
[ 111. 179. 245.]
[ 111. 179. 245.]
...,
[ 95. 162. 233.]
[ 95. 162. 233.]
[ 95. 162. 233.]]
[[ 111. 179. 245.]
[ 111. 179. 245.]
[ 111. 179. 245.]
...,
[ 95. 162. 233.]
[ 95. 162. 233.]
[ 95. 162. 233.]]
...,
[ 113. 127. 123.]
[ 113. 127. 123.]
[ 113. 127. 123.]]
[[ 98. 112. 108.]
[ 98. 112. 108.]
[ 98. 112. 108.]
...,
[ 113. 127. 123.]
[ 113. 127. 123.]
[ 113. 127. 123.]]]
有什么方法可以将 gimp.Image 类型变量转换为 numpy 数组,而无需将其保存在文件中并使用 Scipy 重新加载它?
谢谢。