10個Python圖像處理工具,干貨整理!


來源商業新知網,原標題:干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

 

在圖像處理領域,一庫在手,相當於天下已有。

最近,有一位搞數據科學的小姐姐Parul Pandey,整理了一份實用Python圖像處理工具,內含十大經典Python庫。

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

這份資源中的工具可用於圖像處理中的常見任務,包括裁剪、翻轉、旋轉、圖像分割、分類和特征提取、圖像恢復和圖像識別等。可謂干貨滿滿,圖像處理提升效率必備。

量子位取其重點,將文章翻譯整理如下:

1、scikit Image

scikit-image是一個與numpy數組配合使用的開源Python包,在學術研究、教育和行業領域都可應用。

即使是那些剛接觸Python生態系統的人,也會覺得這是一個相當簡單直接的庫。

通過這個包能完成很多任務,比如圖像過濾:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

使用match_template 函數進行模板匹配:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方地址:

https://scikit-image.org/

用戶指南:

https://scikit-image.org/docs/stable/user_guide.html

2、Numpy

Numpy是Python的核心庫之一,也能支持數組,圖像本質上是包含數據點像素的標准Numpy數組。

因此,通過基本的NumPy操作,可以修改圖像的像素值。

也可以使用skimage加載圖像並用matplotlib顯示。

使用方法也和簡單,比如需要mask一張圖像時:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方地址:

http://www.numpy.org/

3. Scipy

scipy是Python中另一個核心模塊,可用於基本的圖像操作和處理任務。

特別需要注意的是,子模塊scipy.ndimage提供在n維NumPy數組上運行的功能。這個包目前包括線性和非線性濾波器、二元形態、B-spline插值和物體測量等功能。

可以用高斯過濾用Scipy模糊高斯濾波器:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方資料:

https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution

4、PIL/ Pillow

PIL(Python Imaging Library)是一個免費的Python編程語言庫,它增加了對打開,操作和保存不同圖像文件格式的支持。然而,它的發展停滯不前,最后一次更新還是在2009年。

其分支Pillow更易於安裝,在所有主要操作系統上運行並支持Python 3。這個庫包含基本的圖像處理功能,包括點操作、使用一組內置卷積核濾波及顏色空間轉換。

當用ImageFilter增強Pillow中的圖像時,操作是這樣的:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方介紹:

https://pillow.readthedocs.io/en/3.1.x/index.html

5、OpenCV-Python

OpenCV是計算機視覺應用中使用最廣泛的庫之一,OpenCV-Python是OpenCV的python API。

總體來說,因為后台由用C / C ++編寫,因此OpenCV-Python不僅速度快,也易於編程和部署。

這使其成為執行計算密集型視覺程序的絕佳選擇。

來看一下用例,下圖展示的是OpenCV-Python在Image Blending中使用Pyramids創建一個名為’Orapple’的新水果的功能。

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

上手指南:

https://github.com/abidrahmank/OpenCV2-Python-Tutorials

6、SimpleCV

SimpleCV也是廣泛被使用的構建計算機視覺應用程序的開源框架。

手握SimpleCV,你可以訪問幾個高性能的視覺庫,而無需先了解圖像色深(bit depth)、文件格式、色彩空間等。

SimpleCV擁護者的支持理由有兩個,一是初學者也可以借此編寫簡單的視覺任務,二是無論是相機、視頻文件、圖像和視頻流可互相操作。

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

用戶指南:

https://simplecv.readthedocs.io/en/latest/

7、Mahotas

Mahotas包含傳統的圖像處理功能,如濾波和圖像形態學處理,以及用於特征計算,比如興趣點檢測和局部描述子等。

這個庫適用於快速開發,算法是用C++實現的,並且針對速度進行了調整。

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方地址:

https://mahotas.readthedocs.io/en/latest/

用戶指南:

https://mahotas.readthedocs.io/en/latest/index.html

8、 SimpleITK

ITK是一個開源的跨平台系統,提供一整套用於圖像分析的軟件工具。

其中,SimpleITK是一個建立在ITK之上的簡化層,促進其在簡化原型、教育和解釋語言中的應用。

SimpleITK是一個圖像分析工具包,內含大量組件,支持一般濾波操作、圖像分割和圖形配准。

SimpleITK本身是用C++編寫的,但也適用於包括Python在內的大量編程語言。

下面就是用SimpleITK和Python創建的可視化的CT/MR圖:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方地址:

https://itk.org/

學習資料:

http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/

9、GraphicsMagick

GraphicsMagick號稱圖像處理領域的瑞士軍刀。 代碼短小卻提供了一個魯棒、高效的工具和庫集合,可用來處理圖像的讀取、寫入和操作。

支持超過88種圖像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。

將它用於圖像邊緣提取任務,效果如下:

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源

官方資料:

https://pypi.org/project/pgmagick/

相關資源:

https://github.com/hhatto/pgmagick

10、Pycairo

pyCairo是一個Python的2D圖形渲染庫,可用於繪制矢量圖形的2D圖形,在調整大小或變換時不會丟失清晰度。

下面這個用例是用Pycairo繪制線條、基本形狀和徑向梯度。

知識圖譜,干貨整理!10個Python圖像處理工具,入門必看,提效大法 | 資源


免責聲明!

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



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