用python簡單處理圖片(1):打開\顯示\保存圖像


一提到數字圖像處理,可能大多數人就會想到matlab,但matlab也有自身的缺點:

1、不開源,價格貴

2、軟件容量大。一般3G以上,高版本甚至達5G以上。

3、只能做研究,不易轉化成軟件。

因此,我們這里使用python這個腳本語言來進行數字圖像處理。

要使用python,必須先安裝python,一般是2.7版本以上,不管是在windows系統,還是linux系統,安裝都是非常簡單的。

要使用python進行各種開發,就必須安裝對應的庫。這和matlab非常相似,只是matlab里面叫工具箱(toolbox),而python里面叫庫或包。安裝這些庫,一般都是使用pip來安裝。

使用python進行數字圖片處理,還得安裝Pillow包。雖然python里面自帶一個PIL(python images library), 但這個庫現在已經停止更新了,所以使用Pillow, 它是由PIL發展而來的。

pip install Pillow

一、圖片的打開與顯示

from PIL import Image
img=Image.open('d:/dog.png')
img.show()

雖然使用的是Pillow,但它是由PIL fork而來,因此還是要從PIL中進行import. 使用open()函數來打開圖片,使用show()函數來顯示圖片。

這種圖片顯示方式是調用操作系統自帶的圖片瀏覽器來打開圖片,有些時候這種方式不太方便,因此我們也可以使用另上一種方式,讓程序來繪制圖片。

from PIL import Image
import matplotlib.pyplot as plt
img=Image.open('d:/dog.png')
plt.figure("dog")
plt.imshow(img)
plt.show()

這種方法雖然復雜了些,但推薦使用這種方法,它使用一個matplotlib的庫來繪制圖片進行顯示。matplotlib是一個專業繪圖的庫,相當於matlab中的plot,可以設置多個figure,設置figure的標題,甚至可以使用subplot在一個figure中顯示多張圖片。matplotlib 可以直接安裝

pip install matplotlib

figure默認是帶axis的,如果沒有需要,我們可以關掉

plt.axis('off')

打開圖片后,可以使用一些屬性來查看圖片信息,如

print img.size  #圖片的尺寸
print img.mode  #圖片的模式
print img.format  #圖片的格式

顯示結果為:

(558, 450)
RGBA
PNG

二、圖片的保存

img.save('d:/dog.jpg')

就一行代碼,非常簡單。這行代碼不僅能保存圖片,還是轉換格式,如本例中,就由原來的png圖片保存為了jpg圖片。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM