偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

10個(gè)Python圖像編輯工具

開發(fā) 后端
本文將介紹 10 個(gè)可以用于圖像處理任務(wù)的 Python 庫(kù),它們?cè)诰庉媹D像、查看圖像底層數(shù)據(jù)方面都提供了簡(jiǎn)單直接的方法。

[[261377]]

以下提到的這些 Python 工具在編輯圖像、操作圖像底層數(shù)據(jù)方面都提供了簡(jiǎn)單直接的方法。

當(dāng)今的世界充滿了數(shù)據(jù),而圖像數(shù)據(jù)就是其中很重要的一部分。但只有經(jīng)過處理和分析,提高圖像的質(zhì)量,從中提取出有效地信息,才能利用到這些圖像數(shù)據(jù)。

常見的圖像處理操作包括顯示圖像,基本的圖像操作,如裁剪、翻轉(zhuǎn)、旋轉(zhuǎn);圖像的分割、分類、特征提?。粓D像恢復(fù);以及圖像識(shí)別等等。Python 作為一種日益風(fēng)靡的科學(xué)編程語(yǔ)言,是這些圖像處理操作的選擇。同時(shí),在 Python 生態(tài)當(dāng)中也有很多可以免費(fèi)使用的優(yōu)秀的圖像處理工具。

下文將介紹 10 個(gè)可以用于圖像處理任務(wù)的 Python 庫(kù),它們?cè)诰庉媹D像、查看圖像底層數(shù)據(jù)方面都提供了簡(jiǎn)單直接的方法。

1、scikit-image

scikit-image 是一個(gè)結(jié)合 NumPy 數(shù)組使用的開源 Python 工具,它實(shí)現(xiàn)了可用于研究、教育、工業(yè)應(yīng)用的算法和應(yīng)用程序。即使是對(duì)于剛剛接觸 Python 生態(tài)圈的新手來說,它也是一個(gè)在使用上足夠簡(jiǎn)單的庫(kù)。同時(shí)它的代碼質(zhì)量也很高,因?yàn)樗怯梢粋€(gè)活躍的志愿者社區(qū)開發(fā)的,并且通過了同行評(píng)審peer review。

資源

scikit-image 的文檔非常完善,其中包含了豐富的用例。

示例

可以通過導(dǎo)入 skimage 使用,大部分的功能都可以在它的子模塊中找到。

圖像濾波image filtering

  1. import matplotlib.pyplot as plt
  2. %matplotlib inline
  3.  
  4. from skimage import data,filters
  5.  
  6. image = data.coins() # ... or any other NumPy array!
  7. edges = filters.sobel(image)
  8. plt.imshow(edges, cmap='gray')

Image filtering in scikit-image

Image filtering in scikit-image

使用 match_template() 方法實(shí)現(xiàn)模板匹配template matching

Template matching in scikit-image

Template matching in scikit-image

展示頁(yè)面可以看到更多相關(guān)的例子。

2、NumPy

NumPy 提供了對(duì)數(shù)組的支持,是 Python 編程的一個(gè)核心庫(kù)。圖像的本質(zhì)其實(shí)也是一個(gè)包含像素?cái)?shù)據(jù)點(diǎn)的標(biāo)準(zhǔn) NumPy 數(shù)組,因此可以通過一些基本的 NumPy 操作(例如切片、掩膜mask、花式索引fancy indexing等),就可以從像素級(jí)別對(duì)圖像進(jìn)行編輯。通過 NumPy 數(shù)組存儲(chǔ)的圖像也可以被 skimage 加載并使用 matplotlib 顯示。

資源

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

示例

使用 NumPy 對(duì)圖像進(jìn)行掩膜mask操作:

  1. import numpy as np
  2. from skimage import data
  3. import matplotlib.pyplot as plt
  4. %matplotlib inline
  5.  
  6. image = data.camera()
  7. type(image)
  8. numpy.ndarray #Image is a NumPy array:
  9.  
  10. mask = image < 87
  11. image[mask]=255
  12. plt.imshow(image, cmap='gray')

NumPy

NumPy

3、SciPy

像 NumPy 一樣,SciPy 是 Python 的一個(gè)核心科學(xué)計(jì)算模塊,也可以用于圖像的基本操作和處理。尤其是 SciPy v1.1.0 中的 scipy.ndimage 子模塊,它提供了在 n 維 NumPy 數(shù)組上的運(yùn)行的函數(shù)。SciPy 目前還提供了線性和非線性濾波linear and non-linear filtering、二值形態(tài)學(xué)binary morphology、B 樣條插值B-spline interpolation對(duì)象測(cè)量object measurements等方面的函數(shù)。

資源

官方文檔中可以查閱到 scipy.ndimage 的完整函數(shù)列表。

示例

使用 SciPy 的高斯濾波對(duì)圖像進(jìn)行模糊處理:

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

Using a Gaussian filter in SciPy

Using a Gaussian filter in SciPy

4、PIL/Pillow

PIL (Python Imaging Library) 是一個(gè)免費(fèi) Python 編程庫(kù),它提供了對(duì)多種格式圖像文件的打開、編輯、保存的支持。但在 2009 年之后 PIL 就停止發(fā)布新版本了。幸運(yùn)的是,還有一個(gè) PIL 的積極開發(fā)的分支 Pillow,它的安裝過程比 PIL 更加簡(jiǎn)單,支持大部分主流的操作系統(tǒng),并且還支持 Python 3。Pillow 包含了圖像的基礎(chǔ)處理功能,包括像素點(diǎn)操作、使用內(nèi)置卷積內(nèi)核進(jìn)行濾波、顏色空間轉(zhuǎn)換等等。

資源

Pillow 的官方文檔提供了 Pillow 的安裝說明自己代碼庫(kù)中每一個(gè)模塊的示例。

示例

使用 Pillow 中的 ImageFilter 模塊實(shí)現(xiàn)圖像增強(qiáng):

  1. from PIL import Image,ImageFilter
  2. #Read image
  3. im = Image.open('image.jpg')
  4. #Display image
  5. im.show()
  6.  
  7. from PIL import ImageEnhance
  8. enh = ImageEnhance.Contrast(im)
  9. enh.enhance(1.8).show("30% more contrast")

Enhancing an image in Pillow using ImageFilter

Enhancing an image in Pillow using ImageFilter

5、OpenCV-Python

OpenCV(Open Source Computer Vision 庫(kù))是計(jì)算機(jī)視覺領(lǐng)域最廣泛使用的庫(kù)之一,OpenCV-Python 則是 OpenCV 的 Python API。OpenCV-Python 的運(yùn)行速度很快,這歸功于它使用 C/C++ 編寫的后臺(tái)代碼,同時(shí)由于它使用了 Python 進(jìn)行封裝,因此調(diào)用和部署的難度也不大。這些優(yōu)點(diǎn)讓 OpenCV-Python 成為了計(jì)算密集型計(jì)算機(jī)視覺應(yīng)用程序的一個(gè)不錯(cuò)的選擇。

資源

入門之前最好先閱讀 OpenCV2-Python-Guide 這份文檔。

示例

使用 OpenCV-Python 中的金字塔融合Pyramid Blending將蘋果和橘子融合到一起:

Image blending using Pyramids in OpenCV-Python

Image blending using Pyramids in OpenCV-Python

6、SimpleCV

SimpleCV 是一個(gè)開源的計(jì)算機(jī)視覺框架。它支持包括 OpenCV 在內(nèi)的一些高性能計(jì)算機(jī)視覺庫(kù),同時(shí)不需要去了解位深度bit depth、文件格式、色彩空間color space之類的概念,因此 SimpleCV 的學(xué)習(xí)曲線要比 OpenCV 平緩得多,正如它的口號(hào)所說,“將計(jì)算機(jī)視覺變得更簡(jiǎn)單”。SimpleCV 的優(yōu)點(diǎn)還有:

  • 即使是剛剛接觸計(jì)算機(jī)視覺的程序員也可以通過 SimpleCV 來實(shí)現(xiàn)一些簡(jiǎn)易的計(jì)算機(jī)視覺測(cè)試
  • 錄像、視頻文件、圖像、視頻流都在支持范圍內(nèi)

資源

官方文檔簡(jiǎn)單易懂,同時(shí)也附有大量的學(xué)習(xí)用例。

示例

SimpleCV

SimpleCV

7、Mahotas

Mahotas 是另一個(gè) Python 圖像處理和計(jì)算機(jī)視覺庫(kù)。在圖像處理方面,它支持濾波和形態(tài)學(xué)相關(guān)的操作;在計(jì)算機(jī)視覺方面,它也支持特征計(jì)算feature computation興趣點(diǎn)檢測(cè)interest point detection、局部描述符local descriptors等功能。Mahotas 的接口使用了 Python 進(jìn)行編寫,因此適合快速開發(fā),而算法使用 C++ 實(shí)現(xiàn),并針對(duì)速度進(jìn)行了優(yōu)化。Mahotas 盡可能做到代碼量少和依賴項(xiàng)少,因此它的運(yùn)算速度非?????梢詤⒖?a class="ext" rel="external nofollow" target="_blank">官方文檔了解更多詳細(xì)信息。

資源

文檔包含了安裝介紹、示例以及一些 Mahotas 的入門教程。

示例

Mahotas 力求使用少量的代碼來實(shí)現(xiàn)功能。例如這個(gè) Finding Wally 游戲:

Finding Wally problem in Mahotas

Finding Wally problem in Mahotas

Finding Wally problem in Mahotas

Finding Wally problem in Mahotas

8、SimpleITK

ITK(Insight Segmentation and Registration Toolkit)是一個(gè)為開發(fā)者提供普適性圖像分析功能的開源、跨平臺(tái)工具套件,SimpleITK 則是基于 ITK 構(gòu)建出來的一個(gè)簡(jiǎn)化層,旨在促進(jìn) ITK 在快速原型設(shè)計(jì)、教育、解釋語(yǔ)言中的應(yīng)用。SimpleITK 作為一個(gè)圖像分析工具包,它也帶有大量的組件,可以支持常規(guī)的濾波、圖像分割、圖像配準(zhǔn)registration功能。盡管 SimpleITK 使用 C++ 編寫,但它也支持包括 Python 在內(nèi)的大部分編程語(yǔ)言。

資源

有很多 Jupyter Notebooks 用例可以展示 SimpleITK 在教育和科研領(lǐng)域中的應(yīng)用,通過這些用例可以看到如何使用 Python 和 R 利用 SimpleITK 來實(shí)現(xiàn)交互式圖像分析。

示例

使用 Python + SimpleITK 實(shí)現(xiàn)的 CT/MR 圖像配準(zhǔn)過程:

SimpleITK animation

SimpleITK animation

9、pgmagick

pgmagick 是使用 Python 封裝的 GraphicsMagick 庫(kù)。GraphicsMagick 通常被認(rèn)為是圖像處理界的瑞士軍刀,因?yàn)樗鼜?qiáng)大而又高效的工具包支持對(duì)多達(dá) 88 種主流格式圖像文件的讀寫操作,包括 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF 等等。

資源

pgmagick 的 GitHub 倉(cāng)庫(kù)中有相關(guān)的安裝說明、依賴列表,以及詳細(xì)的使用指引

示例

圖像縮放:

Image scaling in pgmagick

Image scaling in pgmagick

邊緣提?。?/p>

Edge extraction in pgmagick

Edge extraction in pgmagick

10、Pycairo

Cairo 是一個(gè)用于繪制矢量圖的二維圖形庫(kù),而 Pycairo 是用于 Cairo 的一組 Python 綁定。矢量圖的優(yōu)點(diǎn)在于做大小縮放的過程中不會(huì)丟失圖像的清晰度。使用 Pycairo 可以在 Python 中調(diào)用 Cairo 的相關(guān)命令。

資源

Pycairo 的 GitHub 倉(cāng)庫(kù)提供了關(guān)于安裝和使用的詳細(xì)說明,以及一份簡(jiǎn)要介紹 Pycairo 的入門指南

示例

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

Pycairo

Pycairo

總結(jié)

以上就是 Python 中的一些有用的圖像處理庫(kù),無論你有沒有聽說過、有沒有使用過,都值得試用一下并了解它們。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

2025-01-17 10:30:00

2020-08-22 07:46:58

Photoflare開源圖像編輯器

2021-02-16 09:37:01

Filmulator開源圖像編輯器

2015-03-27 15:41:42

AdobeAcrobat DC

2024-03-11 09:37:01

模型圖片編輯

2019-10-16 10:23:59

Python圖像處理編程語(yǔ)言

2023-01-02 13:12:07

模型圖像

2021-12-27 08:08:41

微軟WindowsWindows 11

2023-11-20 11:47:18

AI圖像編輯工具

2025-09-01 09:08:41

2024-03-01 20:15:17

2023-05-22 07:29:59

AIDragGAN

2019-01-04 10:00:48

開源技術(shù) 趨勢(shì)

2025-08-28 09:17:50

2025-01-21 10:45:00

訓(xùn)練模型架構(gòu)

2025-08-20 09:06:00

2025-03-31 08:46:00

圖像AI生成

2025-10-27 09:04:00

2023-04-28 10:31:54

Linux命令圖像
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)