引言
一、需要的安裝包
二、下載並安裝 anaconda
三、簡單測試
四、skimage包的子模塊
引言一提到數字圖像處理編程,可能大多數人就會想到matlab,但matlab也有自身的缺點:
1、不開源,價格貴
2、軟件容量大。一般3G以上,高版本甚至達5G以上。
3、只能做研究,不易轉化成軟件。
因此,我們這裡使用python這個腳本語言來進行數字圖像處理。
要使用python,必須先安裝python,一般是2.7版本以上,不管是在windows系統,還是linux系統,安裝都是非常簡單的。
要使用python進行各種開發和科學計算,還需要安裝對應的包。這和matlab非常相似,只是matlab裡面叫工具箱(toolbox),而python裡面叫庫或包。基於python腳本語言開發的數字圖片處理包,其實很多,比如PIL,Pillow, opencv, scikit-image等。
對比這些包,PIL和Pillow只提供最基礎的數字圖像處理,功能有限;
opencv實際上是一個c++庫,只是提供了python接口,更新速度非常慢。到現在python都發展到了3.5版本,而opencv只支持到python 2.7版本;
scikit-image是基於scipy的一款圖像處理包,它將圖片作為numpy數組進行處理,正好與matlab一樣,因此,我們最終選擇scikit-image進行數字圖像處理。
一、需要的安裝包因為scikit-image是基於scipy進行運算的,因此安裝numpy和scipy是肯定的。要進行圖片的顯示,還需要安裝matplotlib包,綜合起來,需要的包有:
Python >= 2.6Numpy >= 1.6.1Cython >= 0.21Six >=1.4SciPy >=0.9Matplotlib >= 1.1.0NetworkX >= 1.8Pillow >= 1.7.8dask[array] >= 0.5.0
比較,安裝起來非常費事,尤其是scipy,在windows上基本安裝不上。
但是不用怕,我們選擇一款集成安裝環境就行了,在此推薦Anaconda, 它把以上需要的包都集成在了一起,因此我們實際上從頭到尾只需要安裝Anaconda軟件就行了,其它什麼都不用裝。
二、下載並安裝 anaconda先到https://www.anaconda.com/products/distribution下載anaconda, 現在的版本有python2.7版本和python3.5版本,下載好對應版本、對應系統的anaconda,它實際上是一個sh腳本文件,大約280M左右。
本系列以windows7+python3.5為例,因此我們下載如下圖紅框裡的版本:
名稱為:Anaconda3-2.4.1-Windows-x86_64.exe
是一個可執行的exe文件,下載完成好,直接雙擊就可以安裝了。
在安裝的時候,假設我們安裝在D盤根目錄,如:
並且將兩個選項都選上,將安裝路徑寫入環境變量。
然後等待安裝完成就可以了。
安裝完成後,打開windows的命令提示符:
輸入conda list 就可以查詢現在安裝了哪些庫,常用的numpy, scipy名列其中。如果你還有什麼包沒有安裝上,可以運行
conda install *** 來進行安裝。(***為需要的包的名稱)
如果某個包版本不是最新的,運行 conda update *** 就可以更新了。
三、簡單測試anaconda自帶了一款編輯器spyder,我們以後就可以用這款編輯器來編寫代碼。
spyder.exe放在安裝目錄下的Scripts裡面,如我的是 D:/Anaconda3/Scripts/spyder.exe, 直接雙擊就能運行。我們可以右鍵發送到桌面快捷方式,以後運行就比較方便了。
我們簡單編寫一個程序來測試一下安裝是否成功,該程序用來打開一張圖片並顯示。首先准備一張圖片,然後打開spyder,編寫如下代碼:
from skimage import ioimg=io.imread('d:/dog.jpg')io.imshow(img)
將其中的d:/dog.jpg 改成你的圖片位置
然後點擊上面工具欄裡的綠色三角進行運行,最終顯示
如果右下角“ Ipython console" 能顯示出圖片,說明我們的運行環境安裝成功。
我們可以選擇右上角的 ” variable explorer" 來查看圖片信息,如
我們可以把這個程序保存起來,注意python腳本文件的後綴名為py.
四、skimage包的子模塊skimage包的全稱是scikit-imageSciKit (toolkit forSciPy) ,它對scipy.ndimage進行了擴展,提供了更多的圖片處理功能。它是由python語言編寫的,由scipy 社區開發和維護。skimage包由許多的子模塊組成,各個子模塊提供不同的功能。主要子模塊列表如下:
子模塊名稱 主要實現功能io讀取、保存和顯示圖片或視頻data提供一些測試圖片和樣本數據color顏色空間變換filters圖像增強、邊緣檢測、排序濾波器、自動阈值等draw操作於numpy數組上的基本圖形繪制,包括線條、矩形、圓和文本等transform幾何變換或其它變換,如旋轉、拉伸和拉東變換等morphology形態學操作,如開閉運算、骨架提取等exposure圖片強度調整,如亮度調整、直方圖均衡等feature特征檢測與提取等measure圖像屬性的測量,如相似性或等高線等segmentation圖像分割restoration圖像恢復util通用函數用到一些圖片處理的操作函數時,需要導入對應的子模塊,如果需要導入多個子模塊,則用逗號隔開,如:
from skimage import io,data,color
以上就是python數字圖像處理環境安裝與配置過程示例的詳細內容,更多關於python數字圖像處理環境安裝配置的資料請關注軟件開發網其它相關文章!