10個Python圖像處理工具

點擊上方關注,All in AI中國
10個Python圖像處理工具

概述了一些常用的Python庫,它們提供了一種簡單直觀的圖像轉換方法。

介紹

在我們今天的世界中有很多的數據,而圖像是這些數據中的重要組成部分。但是,要使用這些圖像,需要對它們進行處理。因此,圖像處理是分析和操縱數字圖像的過程,主要目的是提高數字圖像的質量或從中提取一些信息,然後可以將其用於某種用途。

圖像處理中常見的任務包括顯示圖像,基本操作,如裁剪、翻轉、旋轉等、圖像分割、分類和特徵提取、圖像恢復和圖像識別。 Python成為這種圖像處理任務的合適選擇。這是因為它作為一種科學編程語言日益普及,並且在其生態系統中免費提供許多最先進的圖像處理工具。

讓我們看一下用於圖像處理任務的一些常用Python庫。

1.scikit-image

scikit-image是一個開源Python包,適用於numpy數組。它實現了用於研究、教育和行業應用的算法和實用程序。即使對於那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。

資源

有很多例子和實際用例都有很好的都已經文檔化了。User Guide — skimage v0.15.0 docs

用法

該包作為skimage導入,大多數功能都在子模塊中找到。skimage的一些例子包括:

圖像過濾

10個Python圖像處理工具

10個Python圖像處理工具

使用match_template函數進行模板匹配

10個Python圖像處理工具

您可以在圖庫中找到更多示例。

2.Numpy

Numpy是Python編程的核心庫之一,併為數組提供支持。圖像本質上是包含數據點像素的標準Numpy數組。因此,通過使用基本的NumPy操作,例如切片、屏蔽和花式索引,我們可以修改圖像的像素值。可以使用skimage加載圖像並使用matplotlib顯示圖像。

資源

Numpy的官方文檔頁面提供了完整的資源和文檔列表。NumPy — NumPyNumPy — NumPy

用法

使用Numpy來屏蔽圖像。

10個Python圖像處理工具

10個Python圖像處理工具

3.Scipy

scipy是Python的另一個核心科學模塊,如Numpy,可用於基本的圖像處理和處理任務。特別是,子模塊scipy.ndimage提供了在n維NumPy數組上運行的函數。該軟件包目前包括線性和非線性濾波、二進制形態、B樣條插值和對象測量等功能。

資源

有關scipy.ndimage包提供的完整功能列表,請參閱此處的文檔。NumPy — NumPy使用SciPy進行模糊使用高斯濾波器:

10個Python圖像處理工具

10個Python圖像處理工具

4.PIL / Pillow

PIL(Python Imaging Library)是一個免費的Python編程語言庫,它增加了對打開、操作和保存許多不同圖像文件格式的支持。然而,它的發展停滯不前,最後一次發佈是在2009年。幸運的是,Pillow是一個積極開發的PIL分支,更易於安裝;在所有主要操作系統上運行並支持Python 3。該庫包含基本的圖像處理功能,包括點操作,使用一組內置卷積內核進行過濾以及顏色空間轉換。

資源

該文檔包含安裝說明以及涵蓋庫的每個模塊的示例。

用法

使用ImageFilter增強Pillow中的圖像:

10個Python圖像處理工具

10個Python圖像處理工具

5.OpenCV-Python

OpenCV(開源計算機視覺庫)是計算機視覺應用中使用最廣泛的庫之一。 OpenCV-Python是OpenCV的python API。 OpenCV-Python不僅速度快,因為後臺由用C / C ++編寫的代碼組成,而且易於編碼和部署(由於前端的Python包裝器)。這使其成為執行計算密集型計算機視覺程序的絕佳選擇。

資源

OpenCV2-Python-指南使您可以輕鬆開始使用OpenCV-Python。

用法

下面是一個示例,展示了OpenCV-Python在使用金字塔創建一個名為“Orapple”的新水果的圖像混合中的功能。

10個Python圖像處理工具

6.SimpleCV

SimpleCV也是一個用於構建計算機視覺應用程序的開源框架。有了它,您可以訪問幾個高性能的計算機視覺庫,如OpenCV,無需首先了解位深度、文件格式、色彩空間等。學習曲線遠遠小於OpenCV,並且正如他們的標語所說,“計算機視覺變得容易”。一些贊成SimpleCV的觀點是:

  • 即使是初學者也可以編寫簡單的機器視覺測試
  • 攝像機、視頻文件、圖像和視頻流都可以互操作

資源

官方文檔很容易理解,並有大量的示例和用例可供遵循。

用法

10個Python圖像處理工具

7.Mahotas

Mahotas是另一個用於Python的計算機視覺和圖像處理庫。它包含傳統的圖像處理功能,如過濾和形態學操作,以及用於特徵計算的更現代的計算機視覺功能,包括興趣點檢測和局部描述符。該接口使用Python,適用於快速開發,但算法是用C ++實現的,並且針對速度進行了調整。 Mahotas庫速度快,代碼簡潔,依賴性最小。可以在這閱讀它們的官方文章「鏈接」

資源

該文檔包含安裝說明,示例甚至一些教程,以幫助您輕鬆地開始使用mahotas。

用法

Mahotas庫依賴於使用簡單的代碼來完成工作。對於“尋找Wally”的問題,Mahotas做得很好,而且代碼也很簡單。下面是源代碼。Finding Wally — mahotas 1.4.3+git documentation

10個Python圖像處理工具

10個Python圖像處理工具

8.SimpleITK

ITK或Insight Segmentation and Registration Toolkit是一個開源的跨平臺系統,為開發人員提供了一整套用於圖像分析的軟件工具。其中,SimpleITK是一個建立在ITK之上的簡化層,旨在促進其在快速原型、教育、解釋語言中的使用。 SimpleITK是一個圖像分析工具包,具有大量組件,支持一般過濾操作、圖像分割和註冊。 SimpleITK本身是用C ++編寫的,但可用於包括Python在內的大量編程語言。

資源

已經提供了大量的Jupyter筆記本,說明了如何使用SimpleITK進行教育和研究活動。筆記本演示瞭如何使用SimpleITK進行使用Python和R編程語言的交互式圖像分析。

用法

下面的動畫是使用SimpleITK和Python創建的嚴格CT / MR註冊過程的可視化。在這裡閱讀源代碼。Finding Wally — mahotas 1.4.3+git documentation

10個Python圖像處理工具


9.pgmagick

pgmagick是GraphicsMagick庫的基於Python的包裝器。 GraphicsMagick圖像處理系統有時被稱為圖像處理的瑞士軍刀。它提供了強大而高效的工具和庫集合,支持以超過88種主要格式讀取、寫入和操作圖像,包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF等重要格式。

資源

有一個專門用於PgMagick的Github存儲庫,其中有安裝和要求的說明。還有關於該主題的詳細用戶指南。

用法

使用pgmagick執行的圖像操作活動很少:

圖像縮放:

10個Python圖像處理工具

邊緣提取:

10個Python圖像處理工具

10.Pycairo

Pycairo是一組用於圖形庫cairo的python綁定。 Cairo是一個用於繪製矢量圖形的2D圖形庫。矢量圖形很有趣,因為它們在調整大小或變換時不會失去清晰度。 Pycairo是一組用於cairo的綁定,可用於從Python調用cairo命令。

資源

Pycairo GitHub存儲庫是一個很好的資源,有關於安裝和使用的詳細說明。還有一個入門指南,其中有一個關於Pycairo的簡要教程。

用法

Pycairo繪製線條、基本形狀和徑向漸梯度

10個Python圖像處理工具

結論

這些是Python中一些有用且免費提供的圖像處理庫。有些是眾所周知的,有些可能對你來說是新的。嘗試一下以瞭解更多關於它們的信息。

10個Python圖像處理工具

編譯出品

相關推薦

推薦中...