Python 實現將陣列/矩陣轉換成Image類
阿新 • • 發佈:2020-01-10
先說明一下為什麼要將陣列轉換成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類就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。