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

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

開發(fā) 后端 開發(fā)工具
Python作為一種科學(xué)編程語(yǔ)言已在日漸普及,在生態(tài)系統(tǒng)庫(kù)中還免費(fèi)提供了許多最為先進(jìn)的圖像處理工具,因此成為了圖像處理的最佳選擇。下面將介紹一些可用于圖像處理的常用Python庫(kù)。

如今,數(shù)據(jù)遍布各個(gè)角落,圖像則是數(shù)據(jù)的重要組成部分。但圖像無(wú)論有何用途,都要經(jīng)過(guò)處理。因此,圖像處理就是對(duì)數(shù)字圖像進(jìn)行分析、操作的過(guò)程,其主要目的是為改善圖像質(zhì)量或從中提取一些有用信息。

圖像處理的常見任務(wù)包括圖像顯示、圖像基本操作(裁剪、翻轉(zhuǎn)、旋轉(zhuǎn)等)、圖像分割、分類及特征提取、圖像修復(fù)和圖像識(shí)別。而Python作為一種科學(xué)編程語(yǔ)言已在日漸普及,在生態(tài)系統(tǒng)庫(kù)中還免費(fèi)提供了許多最為先進(jìn)的圖像處理工具,因此成為了圖像處理的最佳選擇。

圖片來(lái)源:Luriko Yamaguchi/Pexels

下面將介紹一些可用于圖像處理的常用Python庫(kù)。

1. scikit Image

scikit-image是Python的一個(gè)開源包,將圖片作為numpy數(shù)組進(jìn)行處理。它使算法和實(shí)用程序得以用于研究、教育和行業(yè)應(yīng)用領(lǐng)域。即便是對(duì)不熟悉Python生態(tài)環(huán)境的人來(lái)說(shuō),這個(gè)庫(kù)也十分簡(jiǎn)單明了。此代碼由一個(gè)活躍的志愿者團(tuán)隊(duì)編寫,質(zhì)量很高且已經(jīng)審閱。

資源:http://scikit-image.org/docs/stable/user_guide.html

用法:該包作為skimage導(dǎo)入,大多數(shù)功能都可在子模塊找到。例如:

(1) 圖像過(guò)濾

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

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

(2) 使用match_template函數(shù)進(jìn)行模板匹配

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

更多示例傳送門:https://scikit-image.org/docs/dev/auto_examples

2. Numpy

Numpy是Python編程的一個(gè)核心庫(kù),為數(shù)組提供支持。圖像本質(zhì)上是包含數(shù)據(jù)像素點(diǎn)的標(biāo)準(zhǔn)Numpy數(shù)組。因此,通過(guò)使用基本的NumPy操作,例如切片、掩膜和匹配索引,可以修改圖像的像素值。也可以用skimage加載圖像,用matplotlib顯示圖像。

資源:http://www.numpy.org/

用處:使用Numpy來(lái)實(shí)現(xiàn)圖像掩膜。

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

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

3. Scipy

和Numpy一樣,scipy是Python的另一個(gè)核心模塊,可用于圖像的基本處理和加工。 特別是子模塊scipy.ndimage提供了可在n維NumPy數(shù)組上運(yùn)行的函數(shù)。該包目前包括線性和非線性濾波法、二值圖像形態(tài)學(xué)、B樣條插值和對(duì)象測(cè)量等功能。

資源:

https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution

用處:

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

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

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

4. PIL/ Pillow

PIL(Python圖像處理庫(kù))是一個(gè)免費(fèi)的Python編程語(yǔ)言庫(kù),支持打開、處理和保存多種格式的圖像文件。但它的發(fā)展早已停滯不前,最新一次發(fā)布還是在2009年。所幸還有Pillow這個(gè)積極開發(fā)的PIL分支,而且它安裝起來(lái)更容易,還可以在所有主操作系統(tǒng)上運(yùn)行,并支持Python 3。該庫(kù)包含點(diǎn)操作、使用一組內(nèi)置卷積內(nèi)核進(jìn)行圖像過(guò)濾以及顏色空間轉(zhuǎn)換這些基本的圖像處理功能。

資源:https://pillow.readthedocs.io/en/3.1.x/index.html

用處:使用Pillow中的ImageFilter增強(qiáng)圖像:

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

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

更多資源傳送門:http://sipi.usc.edu/database/

5. OpenCV-Python

OpenCV(開源計(jì)算機(jī)視覺(jué)庫(kù))是計(jì)算機(jī)視覺(jué)應(yīng)用中使用最為廣泛的庫(kù)之一。OpenCV-Python是OpenCV的python接口。OpenCV-Python不只是因?yàn)楹笈_(tái)由用C / C ++編寫的代碼組成而速度快,還因?yàn)榍岸说腜ython包裝器使得編碼和部署容易。因此,它成為了計(jì)算密集型計(jì)算機(jī)視覺(jué)程序的絕佳選擇。

資源:https://github.com/abidrahmank/OpenCV2-Python-Tutorials

用處:下圖中,OpenCV-Python在圖像融合中使用圖像金字塔創(chuàng)建了一個(gè)名為‘Orapple’的新型水果。

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

代碼傳送門:

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_pyramids/py_pyramids.html#pyramids

6. SimpleCV

SimpleCV也是用于構(gòu)建計(jì)算機(jī)視覺(jué)應(yīng)用程序的一個(gè)開源框架。使用SimpleCV,可以不必事先了解位深、文件格式、色彩空間就能對(duì)幾個(gè)高性能的計(jì)算機(jī)視覺(jué)庫(kù)如OpenCV 進(jìn)行訪問(wèn)。它的學(xué)習(xí)曲線比OpenCV小得多,正如其宣傳語(yǔ)所說(shuō),“SimpleCV讓計(jì)算機(jī)視覺(jué)變得容易”。SimpleCV的優(yōu)勢(shì)在于:

  • 即使是初級(jí)程序員也可以編寫簡(jiǎn)單的機(jī)器視覺(jué)測(cè)試
  • 攝像頭、視頻文件、圖像和視頻流都可以互操作

資源:https://simplecv.readthedocs.io/en/latest/

用處:

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

7. Mahotas

Mahotas是Python中另一個(gè)計(jì)算機(jī)視覺(jué)和圖像處理庫(kù),含有過(guò)濾和形態(tài)學(xué)操作這類的傳統(tǒng)圖像處理功能和興趣點(diǎn)檢測(cè)、局部描述符等用于特征計(jì)算的現(xiàn)代化計(jì)算機(jī)視覺(jué)功能。接口使用了Python,適合快速開發(fā),但算法是由C ++實(shí)現(xiàn)的,并對(duì)速度進(jìn)行了調(diào)整。Mahotas庫(kù)因代碼簡(jiǎn)單且依賴性最小而快速。

資源:https://mahotas.readthedocs.io/en/latest/install.html

用處:Mahotas庫(kù)靠簡(jiǎn)單的代碼來(lái)完成工作。對(duì)于“尋找Wally”這一問(wèn)題,Mahotas解決得很好,且代碼最少。

源代碼傳送門:https://mahotas.readthedocs.io/en/latest/wally.html

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

8. SimpleITK

ITK或Insight Segmentation and Registration Toolkit是一個(gè)開源的跨平臺(tái)系統(tǒng),為開發(fā)人員提供了一整套用于圖像分析的軟件工具。其中,SimpleITK是一個(gè)建立在ITK之上的簡(jiǎn)化層,旨在方便它在快速成型、教育、解釋語(yǔ)言中的應(yīng)用。SimpleITK是一個(gè)具有大量組件的圖像分析工具包,支持一般過(guò)濾操作、圖像分割和圖像配準(zhǔn)。SimpleITK本身是用C ++編寫的,但可用于包括Python在內(nèi)的多種編程語(yǔ)言。

資源:http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/

用處:以下動(dòng)畫是使用SimpleITK和Python可視化嚴(yán)格CT / MR定位過(guò)程。

源代碼傳送門:

https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks/blob/master/Utilities/intro_animation.py

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

9. pgmagick

Pgmagick是GraphicsMagick庫(kù)基于Python的包裝器。GraphicsMagick圖像處理系統(tǒng)有時(shí)也被稱為圖像處理的瑞士軍刀。它提供了強(qiáng)大高效的工具集和庫(kù)集,這些集合支持讀取、寫入和操作的圖像格式超過(guò)88種,其中包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF等重要格式。

資源:

  • Github存儲(chǔ)庫(kù):https://github.com/hhatto/pgmagick
  • 用戶指南:https://pgmagick.readthedocs.io/en/latest/

用處:可使用pgmagick對(duì)圖像進(jìn)行的處理操作很有限,包括:

(1) 圖像縮放:

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

(2) 邊緣提取:

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

10. Pycairo

Pycairo是一組用于圖形庫(kù)cairo的python包。Cairo是一個(gè)用于繪制矢量圖形的2D圖形庫(kù)。矢量圖形很有趣,在調(diào)整大小或變換時(shí)它們的清晰度不會(huì)受到影響。Pycairo可從Python中調(diào)用cairo命令用于cairo。

資源:

  • GitHub存儲(chǔ)庫(kù):https://github.com/pygobject/pycairo
  • 入門指南:https://pycairo.readthedocs.io/en/latest/tutorial.html

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

Python十大工具,讓圖像簡(jiǎn)潔直觀有魅力

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2024-04-19 16:05:21

C++代碼

2020-06-28 09:56:48

.NET開發(fā)工具

2022-08-31 09:52:19

Python圖像處理

2020-11-23 09:21:09

開源項(xiàng)目

2011-03-31 10:18:31

2011-08-09 11:01:01

MySQL

2021-08-11 10:30:26

Python圖像工具

2024-03-15 11:31:13

2019-06-10 07:44:45

Python圖像處理編程

2024-10-17 16:54:47

2014-04-22 09:58:25

數(shù)據(jù)中心

2022-03-16 15:55:17

工業(yè)軟件物聯(lián)網(wǎng)

2019-11-01 09:00:00

Kubernetes開源監(jiān)控工具

2019-04-29 13:20:00

大數(shù)據(jù)工具數(shù)據(jù)庫(kù)

2023-03-06 08:03:10

Python可視化工具

2024-09-12 14:15:44

2022-10-17 07:35:52

Kubernetes工具日志

2016-10-18 17:46:52

2010-12-16 17:38:29

UPS

2020-07-10 06:10:14

Python開發(fā)代碼
點(diǎn)贊
收藏

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