Python 讀取并顯示圖片的兩種方法

? ? ? ?在 python 中除了用 opencv假瞬,也可以用 matplotlib 和 PIL 這兩個庫操作圖片哥捕,這兩個庫在Anaconda3中都默認安裝了诚纸。 matpoltlib感覺更加側(cè)重于圖形繪制窜觉,而PIL側(cè)重于圖像處理谷炸。有的時候兩個庫要同時用,這就涉及到圖片格式的轉(zhuǎn)化

一禀挫、matplotlib

1. 顯示圖片

importmatplotlib.pyplot as plt#plt 用于顯示圖片

importmatplotlib.image as mpimg#mpimg 用于讀取圖片

importnumpy as nplena= mpimg.imread('lena.png')

#讀取和代碼處于同一目錄下的 lena.png

#此時 lena 就已經(jīng)是一個 np.array 了旬陡,可以對它進行任意處理

lena.shape#(512, 512, 3)

plt.imshow(lena)#顯示圖片

plt.axis('off')#不顯示坐標軸

plt.show()

2. 顯示某個通道

#顯示圖片的第一個通道

lena_1 =lena[:,:,0]

plt.imshow('lena_1')

plt.show()#此時會發(fā)現(xiàn)顯示的是熱量圖,不是我們預想的灰度圖语婴,可以添加 cmap 參數(shù)描孟,有如下幾種添加方法:

plt.imshow('lena_1', cmap='Greys_r')

plt.show()

img = plt.imshow('lena_1')

img.set_cmap('gray') # 'hot' 是熱量圖

plt.show()

3. 將 RGB 轉(zhuǎn)為灰度圖

matplotlib 中沒有合適的函數(shù)可以將 RGB 圖轉(zhuǎn)換為灰度圖驶睦,可以根據(jù)公式自定義一個:

def ?rgb2gray(rgb):

return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])

gray=rgb2gray(lena)#也可以用 plt.imshow(gray, cmap = plt.get_cmap('gray'))

plt.imshow(gray, cmap='Greys_r')

plt.axis('off')plt.show()

4. 對圖像進行放縮

這里要用到 scipy

from scipy import misc

lena_new_sz= misc.imresize(lena, 0.5)#第二個參數(shù)如果是整數(shù),則為百分比匿醒,如果是tuple场航,則為輸出圖像的尺寸

plt.imshow(lena_new_sz)

plt.axis('off')

plt.show()

5. 保存圖像

5.1 保存 matplotlib 畫出的圖像

該方法適用于保存任何 matplotlib 畫出的圖像,相當于一個 screencapture廉羔。

plt.imshow(lena_new_sz)

plt.axis('off')

plt.savefig('lena_new_sz.png')

5.2 將 array 保存為圖像

fromscipyimportmisc

misc.imsave('lena_new_sz.png', lena_new_sz)

5.3 直接保存 array

讀取之后還是可以按照前面顯示數(shù)組的方法對圖像進行顯示溉痢,這種方法完全不會對圖像質(zhì)量造成損失

np.save('lena_new_sz', lena_new_sz)#會在保存的名字后面自動加上.

npyimg= np.load('lena_new_sz.npy')#讀取前面保存的數(shù)組

二、PIL

1. 顯示圖片

fromPILimportImage

im= Image.open('lena.png')

im.show()

2. 將 PIL Image 圖片轉(zhuǎn)換為 numpy 數(shù)組

im_array = np.array(im)

# 也可以用 np.asarray(im) 區(qū)別是 np.array() 是深拷貝憋他,np.asarray() 是淺拷貝

3. 保存 PIL 圖片

直接調(diào)用 Image 類的 save 方法

fromPILimportImage

I= Image.open('lena.png')

I.save('new_lena.png')

4. 將 numpy 數(shù)組轉(zhuǎn)換為 PIL 圖片

這里采用 matplotlib.image 讀入圖片數(shù)組孩饼,注意這里讀入的數(shù)組是 float32 型的,范圍是 0-1竹挡,而 PIL.Image 數(shù)據(jù)是 uint8 型的镀娶,范圍是0-255,所以要進行轉(zhuǎn)換:

import matplotlib.image as mpimg?

from PIL import Image

lena= mpimg.imread('lena.png')#這里讀入的數(shù)據(jù)是 float32 型的此迅,范圍是0-1

im = Image.fromarray(np.uint8(lena*255))

im.show()

5. RGB 轉(zhuǎn)換為灰度圖

from PIL import Image

I= Image.open('lena.png')

I.show()

L= I.convert('L')

L.show()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汽畴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子耸序,更是在濱河造成了極大的恐慌忍些,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坎怪,死亡現(xiàn)場離奇詭異罢坝,居然都是意外死亡,警方通過查閱死者的電腦和手機搅窿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進店門嘁酿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人男应,你說我怎么就攤上這事闹司。” “怎么了沐飘?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵游桩,是天一觀的道長。 經(jīng)常有香客問我耐朴,道長借卧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任筛峭,我火速辦了婚禮铐刘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘影晓。我一直安慰自己镰吵,他們只是感情好檩禾,可當我...
    茶點故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捡遍,像睡著了一般锌订。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上画株,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天辆飘,我揣著相機與錄音,去河邊找鬼谓传。 笑死蜈项,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的续挟。 我是一名探鬼主播紧卒,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诗祸!你這毒婦竟也來了跑芳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤直颅,失蹤者是張志新(化名)和其女友劉穎博个,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體功偿,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡盆佣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了械荷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片共耍。...
    茶點故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吨瞎,靈堂內(nèi)的尸體忽然破棺而出痹兜,到底是詐尸還是另有隱情,我是刑警寧澤颤诀,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布字旭,位于F島的核電站,受9級特大地震影響着绊,放射性物質(zhì)發(fā)生泄漏谐算。R本人自食惡果不足惜熟尉,卻給世界環(huán)境...
    茶點故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一归露、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斤儿,春花似錦剧包、人聲如沸恐锦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽一铅。三九已至,卻和暖如春堕油,著一層夾襖步出監(jiān)牢的瞬間潘飘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工掉缺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卜录,地道東北人。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓眶明,卻偏偏與公主長得像艰毒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子搜囱,可洞房花燭夜當晚...
    茶點故事閱讀 45,442評論 2 359

推薦閱讀更多精彩內(nèi)容