Python中常用的十個(gè)圖像處理工具-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到平塘網(wǎng)站設(shè)計(jì)與平塘網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋平塘地區(qū)。

Python中常用的十個(gè)圖像處理工具?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

當(dāng)今世界充滿了各種數(shù)據(jù),而圖像是其中高的重要組成部分。然而,若想其有所應(yīng)用,我們需要對(duì)這些圖像進(jìn)行處理。圖像處理是分析和操縱數(shù)字圖像的過(guò)程,旨在提高其質(zhì)量或從中提取一些信息,然后將其用于某些方面。

圖像處理中的常見(jiàn)任務(wù)包括顯示圖像,基本操作(如裁剪、翻轉(zhuǎn)、旋轉(zhuǎn)等),圖像分割,分類和特征提取,圖像恢復(fù)和圖像識(shí)別等。Python之成為圖像處理任務(wù)的最佳選擇,是因?yàn)檫@一科學(xué)編程語(yǔ)言日益普及,并且其自身免費(fèi)提供許多最先進(jìn)的圖像處理工具。

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

一、scikit Image

scikit-image是一個(gè)基于numpy數(shù)組的開(kāi)源Python包。 它實(shí)現(xiàn)了用于研究、教育和工業(yè)應(yīng)用的算法和實(shí)用程序。 即使是對(duì)于那些剛接觸Python的人,它也是一個(gè)相當(dāng)簡(jiǎn)單的庫(kù)。 此庫(kù)代碼質(zhì)量非常高并已經(jīng)過(guò)同行評(píng)審,是由一個(gè)活躍的志愿者社區(qū)編寫的。

1.1 使用說(shuō)明文檔:

https://scikit-image.org/docs/stable/user_guide.html

1.2 用法舉例:圖像過(guò)濾、模版匹配

可使用“skimage”來(lái)導(dǎo)入該庫(kù)。大多數(shù)功能都能在子模塊中找到。

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中常用的十個(gè)圖像處理工具

1.3 用法舉例:模版匹配(使用match_template函數(shù))

Python中常用的十個(gè)圖像處理工具

gallery上還有更多例子。

https://scikit-image.org/docs/dev/auto_examples/

二、Numpy

Numpy是Python編程的核心庫(kù)之一,支持?jǐn)?shù)組結(jié)構(gòu)。 圖像本質(zhì)上是包含數(shù)據(jù)點(diǎn)像素的標(biāo)準(zhǔn)Numpy數(shù)組。 因此,通過(guò)使用基本的NumPy操作——例如切片、脫敏和花式索引,可以修改圖像的像素值。 可以使用skimage加載圖像并使用matplotlib顯示。

2.1 使用說(shuō)明文檔:

http://www.numpy.org/

2.2 用法舉例:使用Numpy來(lái)對(duì)圖像進(jìn)行脫敏處理

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中常用的十個(gè)圖像處理工具

三、Scipy

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

3.1 使用說(shuō)明文檔:

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

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

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中常用的十個(gè)圖像處理工具

四、PIL/ Pillow

PIL(Python Imaging Library)是一個(gè)免費(fèi)的Python編程語(yǔ)言庫(kù),它增加了對(duì)打開(kāi)、處理和保存許多不同圖像文件格式的支持。 然而,它的發(fā)展停滯不前,其最后一次更新還是在2009年。幸運(yùn)的是, PIL有一個(gè)正處于積極開(kāi)發(fā)階段的分支Pillow,它非常易于安裝。

Pillow能在所有主要操作系統(tǒng)上運(yùn)行并支持Python 3。該庫(kù)包含基本的圖像處理功能,包括點(diǎn)操作、使用一組內(nèi)置卷積內(nèi)核進(jìn)行過(guò)濾以及顏色空間轉(zhuǎn)換。

4.1 使用說(shuō)明文檔:

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

4.2 用法舉例:使用ImageFilter增強(qiáng)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中常用的十個(gè)圖像處理工具

五、OpenCV-Python

OpenCV( 開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù),Open Source Computer Vision Library)是計(jì)算機(jī)視覺(jué)應(yīng)用中使用最廣泛的庫(kù)之一。OpenCV-Python是OpenCV的python API。

OpenCV-Python不僅速度快(因?yàn)楹笈_(tái)由用C / C ++編寫的代碼組成),也易于編碼和部署(由于前端的Python包裝器)。 這使其成為執(zhí)行計(jì)算密集型計(jì)算機(jī)視覺(jué)程序的絕佳選擇。

5.1 使用說(shuō)明文檔:

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

5.2 用法舉例:使用Pyramids創(chuàng)建一個(gè)名為’Orapple’的新水果的功能

Python中常用的十個(gè)圖像處理工具

六、SimpleCV

SimpleCV也是用于構(gòu)建計(jì)算機(jī)視覺(jué)應(yīng)用程序的開(kāi)源框架。 通過(guò)它可以訪問(wèn)如OpenCV等高性能的計(jì)算機(jī)視覺(jué)庫(kù),而無(wú)需首先了解位深度、文件格式或色彩空間等。學(xué)習(xí)難度遠(yuǎn)遠(yuǎn)小于OpenCV,并且正如他們的標(biāo)語(yǔ)所說(shuō),“ 它使計(jì)算機(jī)視覺(jué)變得簡(jiǎn)單 ”。支持SimpleCV的一些觀點(diǎn)是:

即使是初學(xué)者也可以編寫簡(jiǎn)單的機(jī)器視覺(jué)測(cè)試

攝像機(jī)、視頻文件、圖像和視頻流都可以交互操作

6.1 使用說(shuō)明文檔:

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

6.2 用法舉例

Python中常用的十個(gè)圖像處理工具

七、Mahotas

Mahotas是另一個(gè)用于Python的計(jì)算機(jī)視覺(jué)和圖像處理庫(kù)。 它包含傳統(tǒng)的圖像處理功能(如濾波和形態(tài)學(xué)操作)以及用于特征計(jì)算的更現(xiàn)代的計(jì)算機(jī)視覺(jué)功能(包括興趣點(diǎn)檢測(cè)和局部描述符)。該接口使用Python,適用于快速開(kāi)發(fā),但算法是用C ++實(shí)現(xiàn)的,并且針對(duì)速度進(jìn)行了優(yōu)化。

Mahotas庫(kù)運(yùn)行很快,它的代碼很簡(jiǎn)單,(對(duì)其它庫(kù)的)依賴性也很小。建議閱讀他們的官方文檔以了解更多內(nèi)容。

7.1 使用說(shuō)明文檔:

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

7.2 用法舉例

Mahotas庫(kù)使用簡(jiǎn)單的代碼來(lái)完成工作。 對(duì)于“ 尋找Wally ”的問(wèn)題,Mahotas完成的得很好,而且代碼量非常小。

Python中常用的十個(gè)圖像處理工具

八、SimpleITK

ITK(Insight Segmentation and Registration Toolkit)是一個(gè)開(kāi)源的跨平臺(tái)系統(tǒng),為開(kāi)發(fā)人員提供了一整套用于圖像分析的軟件工具。 其中, SimpleITK是一個(gè)建立在ITK之上的簡(jiǎn)化層,旨在促進(jìn)其在快速原型設(shè)計(jì)、教育以及腳本語(yǔ)言中的使用。

SimpleITK是一個(gè)包含大量組件的圖像分析工具包,支持一般的過(guò)濾操作、圖像分割和配準(zhǔn)。SimpleITK本身是用C++編寫的,但可用于包括Python在內(nèi)的大量編程語(yǔ)言。

8.1 使用說(shuō)明文檔:

https://github.com/hhatto/pgmagick

這里有大量說(shuō)明了如何使用SimpleITK進(jìn)行教育和研究活動(dòng)的Jupyter notebook。notebook中演示了如何使用SimpleITK進(jìn)行使用Python和R編程語(yǔ)言的交互式圖像分析。

8.2 用法舉例

下面的動(dòng)畫是使用SimpleITK和Python創(chuàng)建的可視化的嚴(yán)格CT / MR配準(zhǔn)過(guò)程。

Python中常用的十個(gè)圖像處理工具

九、pgmagick

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

9.1 使用說(shuō)明文檔:

https://github.com/hhatto/pgmagick

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

Python中常用的十個(gè)圖像處理工具

                                                                              ▲圖片縮放

Python中常用的十個(gè)圖像處理工具

                                                      ▲邊緣提取

十、Pycairo

Pycairo是圖形庫(kù)cairo的一組python綁定。Cairo是一個(gè)用于繪制矢量圖形的2D圖形庫(kù)。 矢量圖形很有趣,因?yàn)樗鼈冊(cè)谡{(diào)整大小或進(jìn)行變換時(shí)不會(huì)降低清晰度。Pycairo庫(kù)可以從Python調(diào)用cairo命令。

10.1 使用說(shuō)明文檔:

https://github.com/pygobject/pycairo

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

Python中常用的十個(gè)圖像處理工具

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁(yè)標(biāo)題:Python中常用的十個(gè)圖像處理工具-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://bm7419.com/article20/gjojo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站維護(hù)網(wǎng)站改版、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)