10個常用的Python影像處理工具,非常全了!

千鋒武漢發表於2022-01-17

影像處理中的常見任務包括顯示影像、基本操作(如裁剪、翻轉、旋轉等)、影像分割、分類和特徵提取、影像恢復和影像識別。由於Python語言具有很多先進的影像處理工具,而且越來越普及。所以Python成為影像處理任務不錯的選擇。

下面小千就給大家介紹Python中常用的影像處理工具:

10個常用的Python影像處理工具,非常全了!

1、Numpy

Numpy是Python程式設計的核心庫之一,併為陣列提供支援。影像本質上是包含資料點畫素的標準Numpy陣列。因此,我們可以透過使用基本的NumPy操作,例如切片、掩膜和花式索引,來修改影像的畫素值。可以使用skimage載入影像並使用matplotlib顯示影像。一般用Numpy來對影像進行脫敏處理。

2、scikit-image

scikit-image是一個開源的Python包,適用於numpy陣列。它實現了用於研究,教育和工業應用的演算法和實用工具。即使是那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。此程式碼是由活躍的志願者社群編寫的,具有高質量和同行評審的性質。

scikit-image作為skimage匯入,大多數功能都在子模組中找的到。主要應用於影像過濾,使用match_template函式進行模板匹配。

3、PIL

PIL (Python Imaging Library)是一個免費的Python程式語言庫,它增加了對開啟、處理和儲存許多不同影像檔案格式的支援。然而,它的發展停滯不前,其最後一次更新還是在2009年。幸運的是,PIL有一個正處於積極開發階段的分支Pillow,它非常易於安裝。Pillow能在所有主要作業系統上執行並支援Python 3。該庫包含基本的影像處理功能,包括點操作、使用一組內建卷積核心進行過濾以及顏色空間轉換。使用ImageFilter增強Pillow中的影像。

4、Scipy

Scipy是Python的另一個類似Numpy的核心科學模組,可用於基本的影像操作和處理任務。特別是子模組scipy.ndimage,提供了在n維NumPy陣列上操作的函式。該包目前包括線性和非線性濾波,二值形態學,B樣條插值和物件測量等功能函式。Scipy透過高斯濾波器進行模糊處理。

5、SimpleCV

SimpleCV 也是一個用於構建計算機視覺應用程式的開源框架。有了它,你就可以訪問幾個高效能的計算機視覺庫,如OpenCV,而且不需要先學習瞭解位深度、檔案格式、顏色空間等。它的學習曲線大大小於OpenCV,正如它們的口號所說“計算機視覺變得簡單”。即使是初學者也可以編寫簡單的機器視覺測試,而且攝像機、影片檔案、影像和影片流都是可互操作的資源。

6、OpenCV

OpenCV( 開源計算機視覺庫 )是計算機視覺應用中應用最廣泛的庫之一 。OpenCV-Python是OpenCV的Python版API。OpenCV-Python的優點不只有高效,這源於它的內部組成是用C/C++編寫的,而且它還容易編寫和部署(因為前端是用Python包裝的)。這使得它成為執行計算密集型計算機視覺程式的一個很好的選擇。 

7、ITK

ITK 或者Insight Segmentation and Registration Toolkit是一個開源的跨平臺系統,為開發人員提供了一套廣泛的影像分析軟體工具 。其中, SimpleITK是建立在ITK之上的簡化層,旨在促進其在快速原型設計、教育、解釋語言中的應用。SimpleITK 是一個影像分析工具包,包含大量支援一般過濾操作、影像分割和匹配的元件。SimpleITK本身是用C++寫的,但是對於包括Python以內的大部分程式語言都是可用的。大量的Jupyter Notebooks 表明了SimpleITK在教育和研究領域已經被使用。Notebook展示了用Python和R程式語言使用SimpleITK來進行互動式影像分析。

8、Mahotas

Mahotas是另一個計算機視覺和影像處理的Python庫。它包括了傳統的影像處理功能例如濾波和形態學操作以及更現代的計算機視覺功能用於特徵計算,包括興趣點檢測和區域性描述符。該介面是Python語言,適合於快速開發,但是演算法是用C語言實現的,並根據速度進行了調優。Mahotas庫速度快,程式碼簡潔,甚至具有最小的依賴性。Mahotas庫依賴於使用簡單的程式碼來完成任務。關於‘Finding Wally’的問題,Mahotas做的很好並且程式碼量很少。

9、Pycairo

Pycairo是影像處理庫cairo的一組Python捆綁。Cairo是一個用於繪製向量圖形的2D圖形庫。向量圖形很有趣,因為它們在調整大小或轉換時不會失去清晰度。Pycairo是cairo的一組繫結,可用於從Python呼叫cairo命令。Pycairo主要用來繪製線條、基本形狀和徑向梯度。

10、Pgmagick 

Pgmagick是GraphicsMagick庫的一個基於Python的包裝。它提供了一個具有強大且高效的工具和庫集合,支援以88種主要格式(包括重要格式,如DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF)讀取、寫入和操作影像。Pgmagick可以進行的影像處理活動不是很多,一般用於影像縮放或者邊緣提取。

總結

以上就是小千整理的常用的十大Python影像處理工具。有一些有用且免費的Python影像處理庫可以使用,有的是眾所周知的,有的可能對你來說是新的,試著多去了解它們。

本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2852538/,如需轉載,請註明出處,否則將追究法律責任。

相關文章