本文主要給大家介紹windows上安裝Anaconda和python的教程詳解,非常不錯,具有參考借鑒價值,需要的朋友參考下
一提到數字圖像處理編程,可能大多數人就會想到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.6 Numpy >= 1.6.1 Cython >= 0.21 Six >=1.4 SciPy >=0.9 Matplotlib >= 1.1.0 NetworkX >= 1.8 Pillow >= 1.7.8 dask[array] >= 0.5.0
比較,安裝起來非常費事,尤其是scipy,在windows上基本安裝不上。
但是不用害怕,我們選擇一款集成安裝環境就行了,在此推薦Anaconda, 它把以上需要的包都集成在了一起,因此我們實際上從頭到尾只需要安裝Anaconda軟體就行了,其它什麼都不用裝。
二、下載並安裝anaconda
#先到www.continuum.io/downloads 下載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 io img=io.imread('d:/dog.jpg') io.imshow(img)
將其中的d:/dog.jpg 改成你的圖片位置
然後點擊上面工具列裡的綠色三角形進行運行,最終顯示
如果右下角「 Ipython console" 能顯示出圖片,說明我們的運行環境安裝成功。
我們可以選擇右上角的」 variable explorer" 來查看圖片訊息,如
我們可以把這個程式保存起來,注意python腳本檔案的字尾名為py.
四、skimage套件的子模組
skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对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
以上是Anaconda和python在windows上安裝的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!