我已經從圖像的數據中做出了一個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