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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

常用的Python圖像處理庫介紹

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2022-08-19 10:54 ? 次閱讀

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

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

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

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

#1. scikit Image

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

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

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

importmatplotlib.pyplotasplt%matplotlibinlinefromskimageimportdata,filtersimage=data.coins()#...oranyotherNumPyarray!edges=filters.sobel(image)plt.imshow(edges,cmap='gray')
af927250-1ea7-11ed-ba43-dac502259ad0.jpg

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

afb1786c-1ea7-11ed-ba43-dac502259ad0.jpg

#2. Numpy

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

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

importnumpyasnpfromskimageimportdataimportmatplotlib.pyplotasplt%matplotlibinlineimage=data.camera()type(image)numpy.ndarray#Imageisanumpyarraymask=image
afc73e9a-1ea7-11ed-ba43-dac502259ad0.jpg

#3. Scipy

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

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

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)核進行過濾以及顏色空間轉(zhuǎn)換。

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

fromPILimportImage,ImageFilter#Readimageim=Image.open('image.jpg')#Displayimageim.show()fromPILimportImageEnhanceenh=ImageEnhance.Contrast(im)enh.enhance(1.8).show("30%morecontrast")

#5. OpenCV-Python

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

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

#6.SimpleCV

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

即使是初學者也可以編寫簡單的機器視覺測試

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

用法舉例

07

Mahotas

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

用法舉例

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

b0380c24-1ea7-11ed-ba43-dac502259ad0.jpgb05df33a-1ea7-11ed-ba43-dac502259ad0.jpg

#8. SimpleITK

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

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

用法舉例

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

b07fe814-1ea7-11ed-ba43-dac502259ad0.gif

#9. pgmagick

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

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

縮放

邊緣提取

#10. Pycairo

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

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

b0d006e6-1ea7-11ed-ba43-dac502259ad0.jpg

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

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

    關注

    27

    文章

    1275

    瀏覽量

    56576
  • 編程語言
    +關注

    關注

    10

    文章

    1929

    瀏覽量

    34539
  • python
    +關注

    關注

    55

    文章

    4767

    瀏覽量

    84375

原文標題:?整理 Python 中的圖像處理利器(共10個)

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

收藏 人收藏

    評論

    相關推薦

    Python圖像處理Pillow入門教程和代碼資料免費下載

    Pillow 是Python 里的圖像處理(PIL:Python Image Library),提供了了廣泛的文件格式支持,強大的
    發(fā)表于 01-11 16:20 ?30次下載
    <b class='flag-5'>Python</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b><b class='flag-5'>庫</b>Pillow入門教程和代碼資料免費下載

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

    圖像處理是一門應用非常廣的技術,而擁有非常豐富第三方擴展Python 當然不會錯過這一門盛宴。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>的資料說明

    Python中最常用十大圖像處理詳細介紹

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

    八個常用Python GUI

    Python GUI 有很多,下面給大家羅列常用的幾種 GUI 。下面介紹的這些GUI框架,能滿足大部分開發(fā)人員的需要,你可以根據(jù)自己的
    的頭像 發(fā)表于 08-26 14:52 ?2462次閱讀

    如何使用Python和Numpy等技術實現(xiàn)圖像處理

    本文檔的主要內(nèi)容詳細介紹的是如何使用Python、Numpy、Scipy和matplotlib執(zhí)行圖像處理任務。
    發(fā)表于 08-28 09:36 ?8次下載
    如何使用<b class='flag-5'>Python</b>和Numpy等技術實現(xiàn)<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>

    詳解Python中的Pandas和Numpy

    pandas、numpy是Python數(shù)據(jù)科學中非常常用,numpy是Python的數(shù)值計算擴展,專門用來處理矩陣,它的運算效率比列表更
    的頭像 發(fā)表于 05-25 12:49 ?2479次閱讀

    簡單易懂常用Python 圖像處理

    圖像處理中的常見任務包括顯示圖像,基本操作(如裁剪、翻轉(zhuǎn)、旋轉(zhuǎn)等),圖像分割,分類和特征提取,圖像恢復和
    發(fā)表于 12-28 09:42 ?749次閱讀

    分享5個用于圖像處理Python

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

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

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

    關于python中非常實用的一個圖像處理 1

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

    關于python中非常實用的一個圖像處理 2

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

    如何安裝常用Python

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

    python讀取數(shù)據(jù)數(shù)據(jù) python查詢數(shù)據(jù) python數(shù)據(jù)連接

    python讀取數(shù)據(jù)數(shù)據(jù) python查詢數(shù)據(jù) python數(shù)據(jù)連接
    的頭像 發(fā)表于 08-28 17:09 ?1727次閱讀

    如何安裝Python圖像處理PIL

    載Pillow源碼包,解壓后,在終端或命令行中進入源碼目錄,輸入以下代碼: python setup.py install 注意:Pillow是PIL的一個分支,它是更加活躍和完善的版本,所以
    的頭像 發(fā)表于 09-12 17:15 ?2560次閱讀
    如何安裝<b class='flag-5'>Python</b><b class='flag-5'>圖像</b><b class='flag-5'>處理</b>PIL<b class='flag-5'>庫</b>

    深度學習常用Python

    深度學習常用Python,包括核心、可視化工具、深度學習框架、自然語言處理以及數(shù)據(jù)抓取
    的頭像 發(fā)表于 07-03 16:04 ?519次閱讀