1. 程式人生 > 程式設計 >Python 實現將陣列/矩陣轉換成Image類

Python 實現將陣列/矩陣轉換成Image類

先說明一下為什麼要將陣列轉換成Image類。我處理的影象是FITS (Flexible Image Transport System)檔案,是一種灰度影象檔案,也就是單通道影象。

FITS影象的特點是灰度值取值為0~65535,這類影象在python下讀成陣列首先是不能直接轉換成點陣圖,也就不能用OpenCV、Image等方法了。

如果是普通的jpg影象,用自帶的Image庫就能實現很多功能。

下方的這幅圖就是通過python下的Image庫中的rotate函式實現的

接下來貼上程式碼。

import Image
import numpy as np
#生成一個數組,維度為100*100,灰度值一定比255大
narray=np.array([range(10000)],dtype='int')
narray=narray.reshape([100,100])
#呼叫Image庫,陣列歸一化
img=Image.fromarray(narry*255.0/9999)
#轉換成灰度圖
img=img.covert('L')
#可以呼叫Image庫下的函數了,比如show()
img.show()
#Image類返回矩陣的操作
imgdata=np.matrix(img.getdata(),dtype='float')
imgdata=imgdata.reshape(narry.shape[0],narry.shape[1])
#影象歸一化,生成矩陣
nmatrix=imgdata*9999/255.0

這是剛才程式碼生成的圖片,是不是很簡單?

以上這篇Python 實現將陣列/矩陣轉換成Image類就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。