當前位置:成語大全網 - 書法字典 - 10 Python圖像編輯工具

10 Python圖像編輯工具

下面提到的這些Python工具提供了編輯圖像和操作圖像底層數據的簡單而直接的方法。

-帕魯爾·潘迪

當今世界充滿了數據,圖像數據是其中非常重要的壹部分。但只有通過處理分析,提高圖像質量,從中提取有效信息,這些圖像數據才能得到利用。

常見的圖像處理操作包括顯示圖像和基本的圖像操作,如裁剪、翻轉和旋轉;圖像分割、分類和特征提取;圖像恢復;還有圖像識別等等。作為壹種越來越流行的科學編程語言,Python是這些圖像處理操作的最佳選擇。同時,Python生態中有很多優秀的圖像處理工具可以免費使用。

下面將介紹可用於圖像處理任務的10 Python庫,這些庫為編輯圖像和查看圖像底層數據提供了簡單直接的方法。

Scikit-image是壹個結合了NumPy array的開源Python工具,它實現了可用於研究、教育和工業應用的算法和應用。即使對於剛剛接觸Python生態系統的初學者來說,這也是壹個足夠簡單易用的庫。同時,它的代碼質量也非常高,因為它是由壹個活躍的誌願者社區開發的,並且通過了同行評審。

Scikit-image是有據可查的,其中包含了豐富的用例。

導入skimage即可使用,大部分功能都可以在它的子模塊中找到。

圖像過濾:

使用match_template()方法實現模板匹配:

妳可以在展示頁上看到更多相關的例子。

NumPy提供數組支持,是Python編程的核心庫。圖像的本質其實是壹個包含像素數據點的標準NumPy數組,所以妳可以通過壹些bmaskic NumPy操作(比如切片、蒙版、花式索引等)從像素級編輯圖像。).通過NumPy數組存儲的圖像也可以通過skimage加載,並使用matplotlib顯示。

NumPy的官方文檔中提供了完整的代碼文檔和資源列表。

使用NumPy遮罩圖像:

和NumPy壹樣,SciPy是Python的核心科學計算模塊,也可以用於圖像的基本運算和處理。尤其是SciPy v1.1.0中的scipy.ndimage子模塊,提供了運行在N維NumPy數組上的函數。SciPy還提供線性和非線性過濾、二元形態學、B樣條插值、對象測量和其他功能。

scipy.ndimage的完整函數列表可以在官方文檔中找到。

使用高斯濾波器模糊圖像;

PIL (Python Imaging Library)是壹個免費的Python編程庫,支持打開、編輯和保存各種格式的圖像文件。但2009年後,PIL停止發行新版本。幸運的是,PIL還有壹個正在積極開發的分支Pillow,它的安裝過程比PIL簡單,支持大多數主流操作系統,也支持Python 3。Pillow包含了基本的圖像處理功能,包括像素操作、內置卷積核的濾波、色彩空間轉換等。

Pillow的官方文檔提供了如何安裝Pillow的示例,並在其自己的代碼庫中解釋了每個模塊。

利用枕頭中的圖像濾波模塊實現圖像增強:

OpenCV(開源計算機視覺庫)是計算機視覺領域應用最廣泛的庫之壹,OpenCV-Python是OpenCV的Python API。OpenCV-Python運行速度非常快,這要歸功於它的後臺代碼是用C/C++編寫的,而且因為是用Python封裝的,所以調用和部署並不困難。這些優勢使得OpenCV-Python成為計算密集型計算機視覺應用的良好選擇。

最好在開始之前閱讀文檔OpenCV2-Python-Guide。

在OpenCV-Python中使用金字塔融合,將蘋果和橘子融合在壹起;

SimpleCV是壹個開源的計算機視覺框架。它支持壹些高性能的計算機視覺庫,包括OpenCV,不需要理解比特深度、文件格式、顏色空間等概念,所以SimpleCV的學習曲線比OpenCV平滑很多,就像它的口號所說的“讓計算機視覺更簡單”。SimpleCV的優點是:

官方文件簡單易懂,還附有大量學習案例。

該文檔包含安裝介紹、示例和壹些針對Mahotas的入門教程。

Mahotas力求用少量代碼實現功能。例如,這個尋找沃利的遊戲:

ITK(Insight Segmentation and Registration Toolkit)是壹個開源的跨平臺工具包,為開發者提供通用的圖像分析功能,而SimpleITK是基於ITK的簡化層,旨在推動ITK在快速原型設計、教育和解釋語言中的應用。SimpleITK作為壹個圖像分析工具包,也有大量的組件,可以支持濾波、圖像分割、圖像配準等常規功能。雖然SimpleITK是用C++編寫的,但它也支持大多數編程語言,包括Python。

Jupyter筆記本有很多用例可以展示SimpleITK在教育和科研中的應用。通過這些用例,我們可以看到SimpleITK如何使用Python和R實現交互式圖像分析。

用Python+SimpleITK實現CT/MR圖像的配準過程:

Pgmagick是用Python封裝的GraphicsMagick庫。GraphicsMagick被普遍認為是圖像處理領域的瑞士軍刀,因為其強大高效的工具包支持多達88種主流圖像文件的讀寫,包括DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF等。

pgmagick的GitHub倉庫裏有相關的安裝說明、依賴列表和詳細的使用說明。

圖像縮放:

邊緣提取:

cairo是壹個用於繪制矢量圖的二維圖形庫,而Pycairo是壹組用於Cairo的Python綁定。矢量圖形的好處是在調整大小的過程中不會損失圖像的清晰度。可以用PyCairo調用Python中Cairo的相關命令。

Pycairo的GitHub存儲庫提供了安裝和使用的詳細說明,以及簡要介紹Pycairo的入門指南。

使用Pycairo繪制線段、基本圖形和徑向漸變:

這些是Python中壹些有用的圖像處理庫。不管妳是否聽說過它們,都值得嘗試壹下並了解它們。

通過:/article/19/3/python-image-manipulation-tools

作者:Parul Pandey題目:lujun9972譯者:HankChow校對:wxy