Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将阵列重塑为rgb矩阵_Python_Arrays_Numpy - Fatal编程技术网

Python 将阵列重塑为rgb矩阵

Python 将阵列重塑为rgb矩阵,python,arrays,numpy,Python,Arrays,Numpy,我已经在numpy阵列中加载了100x100 rgb图像。然后,我将其转换为30000x1 numpy数组,以通过机器学习模型。该模型的输出也是一个30000x1 numpy阵列。如何将此数组转换回100x100个3元组的numpy数组,以便打印生成的rgb图像 如果初始数组是[r1 g1 b1]、[r2 g2 b2]、…、[],它将展开到[r1 g1 b1 r2 g2 b2…]。我需要它以[r1 g1 b1]、[r2 g2 b2]、…、[]的形式返回 我用于将图像作为数组加载的内容: im=i

我已经在numpy阵列中加载了100x100 rgb图像。然后,我将其转换为30000x1 numpy数组,以通过机器学习模型。该模型的输出也是一个30000x1 numpy阵列。如何将此数组转换回100x100个3元组的numpy数组,以便打印生成的rgb图像

如果初始数组是
[r1 g1 b1]、[r2 g2 b2]、…、[]
,它将展开到
[r1 g1 b1 r2 g2 b2…]
。我需要它以
[r1 g1 b1]、[r2 g2 b2]、…、[]的形式返回

我用于将图像作为数组加载的内容:

im=img.resize((height,width), Image.ANTIALIAS);
im=np.array(im);
im=im.ravel();
我已经试过了。重塑((100100,3))得到一个黑色的输出图像。机器学习模型是正确的,它不是获得黑色输出的原因。

尝试
重塑((3100100))


您的<代码>重塑
似乎是正确的(使用初始数组进行尝试)。你是如何转换为RGB的,也许问题就在这里?我没有将图像转换为RGB。我正在将RGB图像加载到
img
数组中,并将其重塑为100x100,然后将其存储在
im
中,我指的是输出。从你的问题:“我已经尝试过了。重塑((100100,3)),我得到了一个黑色的输出图像。”——因此我的问题是,你如何转换回RGB图像?您是否尝试过在没有机器学习的情况下重塑和显示原始阵列?
a = np.random.random((3, 2, 2))
# array([[[ 0.28623689,  0.96406455],
#         [ 0.55002183,  0.73325715]],
#
#        [[ 0.44293834,  0.08118479],
#         [ 0.28732176,  0.94749812]],
#
#        [[ 0.40169829,  0.0265604 ],
#         [ 0.07904701,  0.19342463]]])
x = np.ravel()
# array([ 0.28623689,  0.96406455,  0.55002183,  0.73325715,  0.44293834,
#         0.08118479,  0.28732176,  0.94749812,  0.40169829,  0.0265604 ,
#         0.07904701,  0.19342463])
print(x.reshape((2, 2, 3)))
# array([[[ 0.28623689,  0.96406455,  0.55002183],
#         [ 0.73325715,  0.44293834,  0.08118479]],

#        [[ 0.28732176,  0.94749812,  0.40169829],
#         [ 0.0265604 ,  0.07904701,  0.19342463]]])
print(x.reshape((3, 2, 2)))
# array([[[ 0.28623689,  0.96406455],
#         [ 0.55002183,  0.73325715]],
#
#        [[ 0.44293834,  0.08118479],
#         [ 0.28732176,  0.94749812]],
#
#        [[ 0.40169829,  0.0265604 ],
#         [ 0.07904701,  0.19342463]]])