當前位置:編程學習大全網 - 源碼下載 - 如何用python顯示壹張圖片?

如何用python顯示壹張圖片?

在python中,除了opencv,還可以使用matplotlib和PIL兩個庫來操作圖片。我更喜歡matpoltlib,因為它的語法更像matlab。

壹. matplotlib

1.顯示圖片

復制代碼

import mapplotlib . py plot asplt # PLT用於顯示圖片。

將mapplotlib.image導入為mpimg # mpimg用於讀取圖片。

將numpy作為np導入

Lena = mpimg.imread('lena.png') #讀取代碼所在目錄下的lena.png。

# lena已經是np.array了,妳可以隨意處理。

lena.shape #(512,512,3)

Plt.imshow(lena) #顯示圖片

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

plt.show()

復制代碼

2.顯示頻道

復制代碼

#顯示圖片的第壹個頻道

lena_1 = lena

plt.imshow('lena_1 ')

plt.show()

#這時候妳會發現顯示的是熱圖,而不是我們預期的灰度圖。您可以添加cmap參數,有幾種方法可以添加它們:

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

plt.show()

img = plt.imshow('lena_1 ')

Img.set_cmap('gray') # 'hot '是熱點圖。

plt.show()

復制代碼

3.將RGB轉換為灰度圖像

matplotlib中沒有合適的函數將RGB圖像轉換成灰度圖像。您可以根據公式定制壹個:

復制代碼

def rgb2gray(rgb):

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

gray = rgb2gray(lena)

#也可以使用PLT.im show (Gray,cmap = PLT.get _ cmap ('Gray '))。

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

plt.axis(“關”)

plt.show()

復制代碼

4.縮放圖像。

這裏用Scipy

復制代碼

從scipy導入雜項

Lena _ new _ SZ = misc.imresize (Lena,0.5) #第二個參數如果是整數就是百分比,如果是元組就是輸出圖像的大小。

plt.imshow(lena_new_sz)

plt.axis(“關”)

plt.show()

復制代碼

保存圖片

5.1保存matplotlib繪制的圖像。

該方法適用於保存任何由matplotlib繪制的圖像,相當於壹個截屏。

plt.imshow(lena_new_sz)

plt.axis(“關”)

' lena_new_sz.png ')

5.2將數組另存為圖像

從scipy導入雜項

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

5.3直接保存數組

讀取後,您仍然可以按照之前顯示數組的方法顯示圖像,這不會對圖像質量造成任何損失。

Np.save ('Lena _ new _ SZ ',Lena _ new _ SZ) #會自動添加。保存名稱後的npy。

img = NP . load(' Lena _ new _ SZ . npy ')#讀取之前保存的數組。

第二,PIL

1.顯示圖片

從PIL進口圖片

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

im.show()

2.將PIL圖像圖片轉換為numpy數組。

im_array = np.array(im)

# np.asarray(im)也可以。不同的是np.asarray()是深度拷貝,np。asarray()是壹個淺層副本。

保存PIL的照片

直接調用Image類的save方法。

從PIL進口圖片

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

I.save('new_lena.png ')

4.將numpy數組轉換成PIL圖片。

這裏,matplotlib.image用於讀取圖像數組。註意這裏讀取的數組是float32類型的,範圍是0-1,而PIL的數據。圖像為uinit8類型,範圍為0-255,因此需要轉換:

將matplotlib.image作為mpimg導入

從PIL進口圖片

Lena = mpimg.imread('lena.png') #這裏讀取的數據為float32類型,取值範圍為0-1。

im = image . from array(NP . ui nit 8(Lena * 255))

im.show()

5.將RGB轉換為灰度圖像

從PIL進口圖片

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

壹.展示()

L = I.convert('L ')

L.show()

  • 上一篇:全民主公H5如何創業推廣?
  • 下一篇:學院源代碼
  • copyright 2024編程學習大全網