【发布时间】:2021-03-22 13:35:42
【问题描述】:
我有以下代码,它从一系列图像中获取调色板,并尝试使用 numpy reshape 来重塑输出。但是当我尝试重塑输出时,我得到错误无法将大小为 27 的数组重塑为形状 (3,3)。
Colors数组打印出来的输出是这样的
[(256,256,265),(256,256,265),(256,256,265),(256,256,265),(256,256,265),(256,256,265),(256,256,265),(256,256,265),(256,256,265)]
哪些是包含调色板的 9 个元组,据说可以重塑为 3 * 3 但是 numpy.reshape 一直说它是 27 项,不能重新整形为 3*3 数组, 我的问题是如何将此输出重塑为 3 * 3 数组
所以我在整形后需要的颜色数组应该是这样的:
colours=[
[(256,256,265),(256,256,265),(256,256,265)],
[(256,256,265),(256,256,265),(256,256,265)],
[(256,256,265),(256,256,265),(256,256,265)]
]
from PIL import Image
import numpy as np
array=[]
for row in range(1,4):
for column in range(1,4):
filename = '/storage/emulated/0/python/banana/banana_0'+str(row)+'_0'+str(column)+'.png'
img = Image.open(filename)
img.show()
colors = img.getpixel((10,10))
array.append(colors)
array=np.array(array)
box_array=array.reshape(3,3)
【问题讨论】: