假設我有一個範圍爲0到1的二維Numpy值數組,代表一個灰度圖像。然後,我如何將其轉換爲PIL Image對象?迄今爲止所有的嘗試都產生了非常奇怪的散射像素或黑色圖像。將二維Numpy灰度值數組轉換爲一個PIL圖像
for x in range(image.shape[0]):
for y in range(image.shape[1]):
image[y][x] = numpy.uint8(255 * (image[x][y] - min)/(max - min))
#Create a PIL image.
img = Image.fromarray(image, 'L')
在上面的代碼中,numpy的陣列圖像是通過歸一化(圖像[X] [Y] - 分鐘)/(最大 - 最小)所以每值在範圍0到1然後,它是乘以255並轉換爲8位整數。理論上講,這應該通過Image.fromarray用模式L處理成灰度圖像 - 但結果是一組分散的白色像素。
您是否正在使用最近版本的['Pillow'](https://pillow.readthedocs.org/),PIL的維護分支,還是使用原始PIL? – MattDMo
+ MattDMo我正在使用最新版本的Pillow,我特別使用Python 3.4 –
請編輯您的問題併發布您迄今爲止已嘗試的內容,包括示例輸入,預期輸出,實際輸出(如果有的話)以及任何錯誤或回溯的**全文**。 – MattDMo