1. 程式人生 > >python簡易圖片處理(1):開啟\顯示\儲存圖片

python簡易圖片處理(1):開啟\顯示\儲存圖片

一提到數字影象處理,可能大多數人會想到matlab,但是matlab有自身的一些缺點:
1.不開源,價格貴;
2.軟體容量大。一般3GB以上,高版本甚至達到5GB以上。
3.只易做研究,不易轉化成軟體。

因此,我傾向於學習python來進行影象的處理工作。要使用python,首先要先安裝python,一般是在2.7版本以上,不管是在windows系統,還是在linux系統,安裝工作都是非常簡單的。

我們要使用python進行各種開發,就必須安裝對應的庫或者。就像我們在matlab裡安裝的工具箱(toolbox)一樣。安裝這些庫,一般使用pip。

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

pip install Pillow

因為我安裝了Anaconda,所以省去了這一步。關於Anaconda,會在後續有一節寫一個專題。
用pip list 檢視Anaconda裡面已經有的安裝包,發現已經有Pillow。
(後面不再贅述這一條件)

一圖片的開啟和顯示

from PIL import Image
img=Image.open('e:/a.png')
img.show()

雖然使用的是Pillow,但是它是由PIL fork而來,因此還是要從PIL中進行import。使用open()函式來開啟圖片,使用show()函式來顯示圖片。
這種圖片的顯示方式是呼叫系統自帶的圖片瀏覽器來開啟圖片

上述方法有些時候不太方便,因此我們也可以使用上另一種方式,讓程式來繪製圖片。

from PIL import Image
import matplotlib.pyplot at plt
img=Image.open('e:/a.png')
plt.figure("a")
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 #圖片格式

顯示結果為:
(690, 1226)
RGB
JPEG

二圖片的儲存

img.save('e:/b.jpg')

就一行程式碼,這行程式碼不僅能夠儲存圖片,還能轉換格式。如這次就由原來的png格式儲存為jpg格式。