tft每日頭條

 > 科技

 > python标準圖像處理庫

python标準圖像處理庫

科技 更新时间:2025-01-12 10:56:22

本文主要介紹了一些簡單易懂最常用的 Python 圖像處理庫。

當今世界充滿了各種數據,而圖像是其中高的重要組成部分。然而,若想其有所應用,我們需要對這些圖像進行處理。圖像處理是分析和操縱數字圖像的過程,旨在提高其質量或從中提取一些信息,然後将其用于某些方面。

圖像處理中的常見任務包括顯示圖像,基本操作(如裁剪、翻轉、旋轉等),圖像分割,分類和特征提取,圖像恢複和圖像識别等。Python 之成為圖像處理任務的最佳選擇,是因為這一科學編程語言日益普及,并且其自身免費提供許多最先進的圖像處理工具。

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

scikit Image

scikit-image 是一個基于 NumPy 數組的開源 Python 包。 它實現了用于研究、教育和工業應用的算法和實用程序。 即使是對于那些剛接觸 Python 的人,它也是一個相當簡單的庫。 此庫代碼質量非常高并已經過同行評審,是由一個活躍的志願者社區編寫的。

用法舉例:圖像過濾、模版匹配

可使用“skimage”來導入該庫。大多數功能都能在子模塊中找到。

import matplotlib.pyplot as plt %matplotlib inline from skimage import data,filters image = data.coins() # ... or any other NumPy array! edges = filters.sobel(image) plt.imshow(edges, cmap='gray')

python标準圖像處理庫(Python中的十大圖像處理工具)1

模版匹配(使用 match_template 函數)

python标準圖像處理庫(Python中的十大圖像處理工具)2

numpy

Numpy 是 Python 編程的核心庫之一,支持數組結構。 圖像本質上是包含數據點像素的标準 Numpy 數組。 因此,通過使用基本的 NumPy 操作——例如切片、脫敏和花式索引,可以修改圖像的像素值。 可以使用 skimage 加載圖像并使用 matplotlib 顯示。

用法舉例:使用 Numpy 來對圖像進行脫敏處理

import numpy as np from skimage import data import matplotlib.pyplot as plt %matplotlib inline image = data.camera() type(image) numpy.ndarray #Image is a numpy array mask = image < 87 image[mask]=255 plt.imshow(image, cmap='gray')

python标準圖像處理庫(Python中的十大圖像處理工具)3

Scipy

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

用法舉例:使用 SciPy 的高斯濾波器對圖像進行模糊處理

from scipy import misc,ndimage face = misc.face() blurred_face = ndimage.gaussian_filter(face, sigma=3) very_blurred = ndimage.gaussian_filter(face, sigma=5) #Results plt.imshow(<image to be displayed>)

python标準圖像處理庫(Python中的十大圖像處理工具)4

PIL/ Pillow

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

用法舉例:使用 ImageFilter 增強 Pillow 中的圖像

from PIL import Image, ImageFilter #Read image im = Image.open( 'image.jpg' ) #Display image im.show() from PIL import ImageEnhance enh = ImageEnhance.Contrast(im) enh.enhance(1.8).show("30% more contrast")

python标準圖像處理庫(Python中的十大圖像處理工具)5

OpenCV-Python

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

用法舉例:使用 Pyramids 創建一個名為'Orapple'的新水果的功能

python标準圖像處理庫(Python中的十大圖像處理工具)6

SimpleCV

SimpleCV 也是用于構建計算機視覺應用程序的開源框架。 通過它可以訪問如 OpenCV 等高性能的計算機視覺庫,而無需首先了解位深度、文件格式或色彩空間等。學習難度遠遠小于 OpenCV,并且正如他們的标語所說,“ 它使計算機視覺變得簡單 ”。支持 SimpleCV 的一些觀點是:

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

用法舉例

python标準圖像處理庫(Python中的十大圖像處理工具)7

Mahotas

Mahotas 是另一個用于 Python 的計算機視覺和圖像處理庫。 它包含傳統的圖像處理功能(如濾波和形态學操作)以及用于特征計算的更現代的計算機視覺功能(包括興趣點檢測和局部描述符)。 該接口使用 Python,适用于快速開發,但算法是用 C 實現的,并且針對速度進行了優化。Mahotas 庫運行很快,它的代碼很簡單,(對其它庫的)依賴性也很小。 建議閱讀他們的官方文檔以了解更多内容。

用法舉例

Mahotas 庫使用簡單的代碼來完成工作。 對于“ 尋找 Wally ”的問題,Mahotas 完成的得很好,而且代碼量非常小。

python标準圖像處理庫(Python中的十大圖像處理工具)8

python标準圖像處理庫(Python中的十大圖像處理工具)9

SimpleITK

ITK (Insight Segmentation and Registration Toolkit) 是一個開源的跨平台系統,為開發人員提供了一整套用于圖像分析的軟件工具。 其中, SimpleITK 是一個建立在 ITK 之上的簡化層,旨在促進其在快速原型設計、教育以及腳本語言中的使用。SimpleITK 是一個包含大量組件的圖像分析工具包,支持一般的過濾操作、圖像分割和配準。SimpleITK 本身是用 C 編寫的,但可用于包括 Python 在内的大量編程語言。

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

用法舉例

下面的動畫是使用 SimpleITK 和 Python 創建的可視化的嚴格 CT / MR 配準過程。

python标準圖像處理庫(Python中的十大圖像處理工具)10

pgmagick

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

用法舉例:圖片縮放、邊緣提取

python标準圖像處理庫(Python中的十大圖像處理工具)11

圖片縮放

python标準圖像處理庫(Python中的十大圖像處理工具)12

邊緣提取

Pycairo

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

用法:Pycairo 可以繪制線條、基本形狀和徑向漸變

python标準圖像處理庫(Python中的十大圖像處理工具)13

以上就是一些免費的優秀圖像處理 Python 庫。有些很知名,你可能已經知道或者用過,有些可能對你來說還是新的。那正好現在就上手操作一下,試一試吧!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved