自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個 Python 圖像處理工具隨你選

開發(fā) 后端
本文著眼于10個最常用的Python庫,用于圖像處理任務。這些庫提供了一種簡單直觀的方法來轉換圖像并理解底層數(shù)據(jù)。

這些Python庫提供了一種簡單直觀的方法來轉換圖像并理解底層數(shù)據(jù)。

今天的世界充滿了數(shù)據(jù),圖像是這些數(shù)據(jù)的重要組成部分。但是,在使用它們之前,必須對這些數(shù)字圖像進行處理-分析和操作,以提高其質量或提取一些可以使用的信息。

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

本文著眼于10個最常用的Python庫,用于圖像處理任務。這些庫提供了一種簡單直觀的方法來轉換圖像并理解底層數(shù)據(jù)。

1、scikit-image

scikit-image是一個與NumPy數(shù)組一起使用的開源Python包。它實現(xiàn)了用于研究,教育和行業(yè)應用的算法和實用程序。它是一個相當簡單直接的庫,即使對那些不熟悉Python生態(tài)系統(tǒng)的人也是如此。代碼質量高,經(jīng)過同行評審,由一個活躍的志愿者社區(qū)編寫。

資源

scikit-image文檔豐富,有很多示例和實際使用方法。

用法

該包通過skimage導入,大多數(shù)功能可以在子模塊中找到。

圖像過濾:

 

 

 

 

 

 

 

 

使用match_template函數(shù)進行模板匹配:

 

 

 

 

你可以在gallery中找到更多的例子。

2、NumPy

NumPy是Python編程中的核心庫之一,并為數(shù)組提供支持。圖像本質上是包含數(shù)據(jù)點像素的標準NumPy數(shù)組。因此,通過使用基本的NumPy操作(如slicing,masking和fancy indexing),您可以修改圖像的像素值??梢允褂?skimage加載圖像并使用 Matplotlib顯示。

資源

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

用法

使用Numpy來mask圖片:

 

 

 

 

 

 

 

 

3、SciPy

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

資源

有關scipy.ndimage包所提供的完整功能列表,請參閱文檔。

用法

使用SciPy通過高斯濾波器進行模糊

 

 

 

 

 

 

 

 

4、PIL/Pillow

PIL(Python Imaging Library)是一個免費的Python編程語言庫,它增加了對打開,操作和保存許多不同圖像格式的支持。然而,它的發(fā)展停滯不前,其最后一版發(fā)布于2009年。幸運的是,Pillow是一個積極開發(fā)的PIL分支,它更易于安裝,可在所有主流操作系統(tǒng)上運行,并支持Python 3。該庫包含基本圖像處理功能,包括點操作,使用一組內(nèi)置卷積內(nèi)核進行過濾以及顏色空間轉換。

資源

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

用法

使用ImageFilter增強Pillow中的圖像:

 

 

 

 

5、OpenCV-Python

OpenCV(Open Source Computer Vision Library)是計算機視覺應用中使用最廣泛的庫之一。OpenCV-Python是OpenCV的Python API。因為后臺由C / C ++編寫的代碼組成,OpenCV-Python速度很快快,但它也很容易編碼和部署(由于前端的Python包裝器)。這使其成為執(zhí)行計算密集型計算機視覺程序的絕佳選擇。

資源

通過OpenCV2-Python-Guide可以很容易上手OpenCV-Python

用法

使用OpenCV-Python中的 Image Blending using Pyramids創(chuàng)建一個“Orapple”:

 

 

 

 

6、SimpleCV

SimpleCV是另一個用于構建計算機視覺應用程序的開源框架。它提供訪問幾個高性能計算機視覺庫,如OpenCV,的接口,但無需了解位深度,文件格式,色彩空間等。它的學習曲線遠小于OpenCV,并且(如其標語所示),“它令計算機視覺變得簡單。”支持SimpleCV的一些觀點是:

即使是初學者也可以編寫簡單的機器視覺測試

攝像機,視頻文件,圖像和視頻流都可以互操作

資源

很容易按照官方文檔的指導進行操作,并有大量的示例和用例可供遵循。

用法

 

 

 

 

7、Mahotas

Mahotas是另一個用于Python的計算機視覺和圖像處理庫。它包含傳統(tǒng)的圖像處理功能,如過濾和形態(tài)操作,以及用于特征計算的更現(xiàn)代的計算機視覺功能,包括興趣點檢測和局部描述符。使用Python編寫接口,適用于快速開發(fā),但算法是用C ++實現(xiàn)的,并且針對速度進行了優(yōu)化。Mahotas庫運行快速,代碼簡約,依賴性小。閱讀其官方文章以獲得更多了解。

資源

文檔包含安裝說明,示例,甚至一些教程幫助您輕松開始使用Mahotas。

用法

Mahotas庫依靠簡單的代碼來完成工作。例如,使用最少量的代碼Finding Wally問題就可以很好地解決。

解決Finding Wally問題:

 

 

 

 

 

 

 

 

8、SimpleITK

ITK(Insight Segmentation and Registration Toolkit)是一個“開源,跨平臺系統(tǒng),為開發(fā)人員提供了一套用于圖像分析的廣泛軟件工具。SimpleITK是一個基于ITK構建的簡化層,旨在促進其在快速原型設計,交易以及解釋語言方面的應用。”它也是一個圖像分析工具包,具有大量組件,支持一般過濾操作,圖像分割和配準。SimpleITK是用C ++編寫的,但它可用包括Python在內(nèi)的大量編程語言進行操作。

資源

有大量的Jupyter Notebook說明了SimpleITK在教育和研究活動中的應用。Notebooks使用Python和R編程語言演示如何使用SimpleITK進行交互式圖像分析。

用法

使用SimpleITK和Python創(chuàng)建可視化的嚴格CT / MR配準過程:

 

 

 

 

9、pgmagick

pgmagick是基于Python的GraphicsMagick庫的包裝器。GraphicsMagick圖像處理系統(tǒng),有時也被稱為圖像處理的瑞士軍刀。其強大而高效的工具和庫集合支持在超過88種主要格式(包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF)上讀取,寫入和操作圖像。

資源

pgmagick的GitHub respository有安裝說明和要求。還有一個詳細的用戶指南。

用法

圖像縮放:

 

 

 

 

邊緣提取:

 

 

 

 

10、Pycairo

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

資源

Pycairo GitHub respository是一個很好的資源,包含有關安裝和使用的詳細說明。還有一個入門指南,有一個關于Pycairo的簡短教程。

用法

用Pycairo繪制線條,基本形狀和徑向漸變:

 

 

 

 

11、結論

這些是Python中一些有用且免費提供的圖像處理庫。有些是眾所周知的,有些可能對你來說是新的。

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2023-06-27 15:50:23

Python圖像處理

2022-08-31 09:52:19

Python圖像處理

2021-08-11 10:30:26

Python圖像工具

2019-10-16 10:23:59

Python圖像處理編程語言

2019-06-10 07:44:45

Python圖像處理編程

2024-04-28 10:00:24

Python數(shù)據(jù)可視化庫圖像處理庫

2010-03-09 19:19:40

Python圖像處理

2024-11-11 07:00:00

Python圖像識別

2024-05-23 11:53:24

Python代碼異常處理

2024-10-08 15:42:45

2024-08-13 00:23:48

2024-05-06 11:12:22

圖像處理數(shù)學計算NumPy

2022-12-26 00:43:26

python擴展庫可視化

2022-03-10 08:44:50

Python開發(fā)工具

2020-06-14 14:51:27

Java數(shù)據(jù)開發(fā)

2023-10-16 07:55:15

JavaScript對象技巧

2024-07-18 15:08:27

2024-09-23 16:49:32

2024-05-13 11:43:39

Python數(shù)據(jù)分析CSV

2024-03-26 11:41:59

點贊
收藏

51CTO技術棧公眾號