我已经从图像的数据中做出了一个numpy数组。我想将numpy数组转换为一维数组。为什么我的numpy数组的形状不变?
import numpy as np
import matplotlib.image as img
if __name__ == '__main__':
my_image = img.imread("zebra.jpg")[:,:,0]
width, height = my_image.shape
my_image = np.array(my_image)
img_buffer = my_image.copy()
img_buffer = img_buffer.reshape(width * height)
print str(img_buffer.shape)
128x128图像在这里。
然而,该程序打印出(128,128)。我想img_buffer
是一个一维数组。我如何重塑这个数组?为什么numpy实际上不会将数组重塑为一维数组?
它看起来像你有一个彩色图像,但你只能阅读图像的每个像素的红色通道。这是你的意图吗? –
谢谢!我的初衷是读取所有的RGB。为什么我只读红色频道? – dangerChihuahua007
@DavidFaux wim说,因为显然你已经很快编辑了这个问题来得到正确的代码,你能不能改回来。它完全混淆有一个问题“为什么这不起作用”与代码工作。 – seberg