0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中最常用十大圖像處理庫詳細(xì)介紹

新機(jī)器視覺 ? 來源:未知 ? 2019-07-06 11:08 ? 次閱讀

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

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

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

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

1. scikitImage

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

使用說明文檔:

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

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

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

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

模版匹配(使用match_template函數(shù))

gallery上還有更多例子。

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

2. Numpy

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

使用說明文檔:

http://www.numpy.org/

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

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

3. Scipy

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

使用說明文檔:

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

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

fromscipyimportmisc,ndimageface = misc.face()blurred_face = ndimage.gaussian_filter(face, sigma=3)very_blurred = ndimage.gaussian_filter(face, sigma=5)#Resultsplt.imshow()

4. PIL/Pillow

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

使用說明文檔:

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

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

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

5. OpenCV-Python

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

使用說明文檔:

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

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

6. SimpleCV

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

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

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

使用說明文檔:

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

用法舉例

7. Mahotas

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

使用說明文檔:

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

用法舉例

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

8. SimpleITK

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

使用說明文檔:

https://github.com/hhatto/pgmagick

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

用法舉例

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

9. pgmagick

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

使用說明文檔:

https://github.com/hhatto/pgmagick

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

圖片縮放

邊緣提取

10. Pycairo

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

使用說明文檔:

https://github.com/pygobject/pycairo

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1272

    瀏覽量

    56494
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1919

    瀏覽量

    34500
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283

原文標(biāo)題:Python中的十大圖像處理工具

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    變頻器最常見的十大故障現(xiàn)象和分析處理實例

    變頻器是自動化工廠中最常見的電氣設(shè)備下面我們一起來看看變頻器最常見的十大故障現(xiàn)象和分析處理實例。
    發(fā)表于 09-14 09:11 ?5w次閱讀

    數(shù)據(jù)分析中最常用、最好用的20個Python分享

    【導(dǎo)讀】Python在解決數(shù)據(jù)科學(xué)任務(wù)和挑戰(zhàn)方面處于領(lǐng)先地位。而一些方便易用的則幫助了開發(fā)人員高效開發(fā)。在這里我們整理了20個在深度學(xué)習(xí)、數(shù)據(jù)分析中最常用、最好用的Python
    的頭像 發(fā)表于 01-03 09:28 ?5183次閱讀
    數(shù)據(jù)分析<b class='flag-5'>中最常用</b>、最好用的20個<b class='flag-5'>Python</b><b class='flag-5'>庫</b>分享

    常用Python圖像處理介紹

    本文主要介紹了一些簡單易懂最常用Python 圖像處理
    的頭像 發(fā)表于 08-19 10:54 ?1943次閱讀

    Python機(jī)器學(xué)習(xí)常用

    是同類API中最好的選擇之一。以上是Python開發(fā)工程師必知十大機(jī)器學(xué)習(xí),除此之外,還有OverFeat、Nolearn以及Decaf等機(jī)器學(xué)習(xí)
    發(fā)表于 03-26 16:29

    十大Python機(jī)器學(xué)習(xí)常用

    DashDash 是一個可構(gòu)建 Web 應(yīng)用,尤其是數(shù)據(jù)可視化 Web 應(yīng)用的純 Python 開源。它建立在 Flask、Plotly 和 React 之上,并提供這幾個框架的函數(shù)抽象接口,從而開發(fā)者不必
    發(fā)表于 05-02 16:37

    Python十大應(yīng)用領(lǐng)域和就業(yè)方向

    能干些什么?以下是Python十大應(yīng)用領(lǐng)域!1. WEB開發(fā)Python擁有很多免費數(shù)據(jù)函數(shù)、免費web網(wǎng)頁模板系統(tǒng)、以及與web服務(wù)器進(jìn)行交互的
    發(fā)表于 11-21 14:54

    電路中最常見到的電容使用方法

    基于電容常用功能,詳細(xì)介紹各功能應(yīng)用電路中最常見到的電容使用方法
    發(fā)表于 03-17 08:08

    Python教程之如何使用使用PIL圖像處理的資料說明

    圖像處理是一門應(yīng)用非常廣的技術(shù),而擁有非常豐富第三方擴(kuò)展Python 當(dāng)然不會錯過這一門盛宴。PIL (Python Imaging
    發(fā)表于 01-18 17:01 ?15次下載
    <b class='flag-5'>Python</b>教程之如何使用使用PIL<b class='flag-5'>庫</b>做<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>的資料說明

    EMC問題中最常用的手段RC濾波詳細(xì)資料說明

    讓我們一起來看看處理 EMC 問題中最常用的手段 -RC 濾波。本文介紹了濾波的概念,并詳細(xì)說明了電阻 - 電容(RC)低通濾波器的用途和特性。
    發(fā)表于 12-25 07:08 ?8次下載
    EMC問題<b class='flag-5'>中最常用</b>的手段RC濾波<b class='flag-5'>詳細(xì)</b>資料說明

    聯(lián)網(wǎng)應(yīng)用中最常用的傳感器是什么?

    環(huán)境、運動、光電/圖像和健康監(jiān)測傳感器是物聯(lián)網(wǎng)應(yīng)用中最常用的傳感器類型
    的頭像 發(fā)表于 08-16 11:26 ?905次閱讀

    分享5個用于圖像處理Python

    提取特征。 在今天的文章中,我們將介紹5個最好的Python,它們可能會幫助你執(zhí)行圖像處理,如裁剪、縮放等。
    的頭像 發(fā)表于 02-08 16:23 ?1267次閱讀
    分享5個用于<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>的<b class='flag-5'>Python</b><b class='flag-5'>庫</b>

    個簡單易懂最常用Python 圖像處理

    本文主要介紹了一些簡單易懂最常用Python 圖像處理。 當(dāng)今世界充滿了各種數(shù)據(jù),而
    的頭像 發(fā)表于 02-08 16:59 ?770次閱讀

    關(guān)于python中非常實用的一個圖像處理 1

    PIL:Python Imaging Library,是Python環(huán)境下最受歡迎的圖像處理,木有之一。然而,在
    的頭像 發(fā)表于 02-08 17:18 ?1273次閱讀

    如何安裝常用Python

    Python作為一種流行的編程語言,擁有豐富的第三方資源,這些可以幫助開發(fā)者輕松實現(xiàn)各種功能,從數(shù)據(jù)分析到Web開發(fā),從機(jī)器學(xué)習(xí)到圖像處理
    的頭像 發(fā)表于 04-14 12:11 ?1097次閱讀

    十大最常用電子元器件(一)

    電子元器件是電子技術(shù)中的基礎(chǔ)組成部分,是電子電路的基本構(gòu)件。電子元器件的種類繁多,但其中一些元器件的應(yīng)用非常廣泛,被稱為十大最常用電子元器件。本文將介紹這些元器件的基礎(chǔ)知識。
    的頭像 發(fā)表于 06-01 08:52 ?2230次閱讀