我正在为GIMP开发一个python插件,我想以numpy数组的形式获得一个层的RGB矩阵。为了访问python插件中的层,我使用以下代码:
def python_function(img, layer):
layer = img.layers[0]我想让layer变量,而不是gimp.Image变量,成为一个数值数组,包含每个像素的RGB值。我在其他非line 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重新加载?
谢谢。
https://stackoverflow.com/questions/47536186
复制相似问题