<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10個Python圖像處理工具,非常全了!

          共 5000字,需瀏覽 10分鐘

           ·

          2021-03-15 10:27

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          作者:Parul Pandey

          編譯:ronghuaiyang

          導讀

          10個常用的可以進行圖像處理的Python庫的介紹,可能有些你還沒用過,可以試試看!



          介紹

          我們這個世界充滿了數(shù)據(jù),而圖像是這些數(shù)據(jù)的重要組成部分。然而,要想使用這些圖像,需要對它們進行處理。因此,圖像處理是分析和處理數(shù)字圖像的必要的過程,其主要目的是提高圖像質(zhì)量或從中提取一些信息,然后加以利用。

          圖像處理中常見的任務(wù)包括圖像顯示、裁剪、翻轉(zhuǎn)、旋轉(zhuǎn)等基本操作、圖像分割、分類和特征提取、圖像恢復和圖像識別。Python成為這種圖像處理任務(wù)的合適選擇。這是因為它作為一種科學編程語言越來越受歡迎,而且在其生態(tài)系統(tǒng)中有許多最先進的圖像處理工具可以免費使用。

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

          1.scikit  Image

          scikit-image是一個開源的Python包,可以使用 numpy 數(shù)組。它實現(xiàn)了用于研究、教育和工業(yè)應(yīng)用的算法和實用程序。它是一個相當簡單和直接的庫,即使對于Python生態(tài)系統(tǒng)的新手也是如此。這些代碼是由活躍的志愿者社區(qū)編寫的,具有高質(zhì)量和同行評審的特性。

          資源

          它已經(jīng)通過大量的例子和實際的用例很好地文檔化了。閱讀文檔:(http://scikit-image.org/docs/stable/user_guide.html)。

          使用

          包被導入為 skimage,大多數(shù)函數(shù)都在子模塊中可以找到。skimage的一些例子包括:

          • 圖像濾波

          1. import matplotlib.pyplot as plt

          2. %matplotlib inline

          3. from skimage import data,filters

          4. image = data.coins()

          5. # ... or any other NumPy array!

          6. edges = filters.sobel(image)

          7. plt.imshow(edges, cmap='gray')

          • 使用match template函數(shù)進行模板匹配

          2.Numpy

          Numpy是Python編程中的核心庫之一,提供對數(shù)組的支持。圖像本質(zhì)上是一個包含數(shù)據(jù)點像素的標準Numpy數(shù)組。因此,通過使用基本的NumPy操作,如切片、屏蔽和花式索引,我們可以修改圖像的像素值。可以使用skimage加載圖像,并使用matplotlib顯示圖像。

          資源

          完整的資源和文檔列表可以在Numpy的官方文檔頁面上找到。

          使用

          使用Numpy來對圖像做掩模。

          1. import numpy as np

          2. from skimage import data

          3. import matplotlib.pyplot as plt

          4. %matplotlib inline

          5. image = data.camera()

          6. type(image)

          7. numpy.ndarray #Image is a numpy array

          8. mask = image < 87

          9. image[mask]=255

          10. plt.imshow(image, cmap='gray')


          3.Scipy

          scipy是Python的另一個核心科學模塊,類似于Numpy,可用于基本的圖像處理和處理任務(wù)。特別是子模塊 scipy.ndimage。提供在n維NumPy數(shù)組上操作的函數(shù)。該軟件包目前包括線性和非線性濾波、二元形態(tài)學、b樣條插值和物體測量功能。

          資源

          獲取由 scipy.ndimage 提供的完整函數(shù)列表,請參考文檔(https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution)。

          使用

          用SciPy,使用高斯濾波器來做圖像的模糊:

          1. from scipy import misc,ndimage

          2. face = misc.face()

          3. blurred_face = ndimage.gaussian_filter(face, sigma=3)

          4. very_blurred = ndimage.gaussian_filter(face, sigma=5)

          5. #Results

          6. plt.imshow(<image to be displayed>)


          4.PIL/Pillow

          PIL(Python Imaging Library)是Python編程語言的一個免費庫,它支持打開、操作和保存許多不同的圖像文件格式。然而,隨著2009年最后一次發(fā)布,它的開發(fā)停滯不前。幸運的是,有Pillow,這是PIL的一個積極開發(fā)的分支,更容易安裝,支持所有主要的操作系統(tǒng),并支持Python3。該庫包含基本的圖像處理功能,包括點操作、使用一組內(nèi)置卷積核進行過濾和顏色空間轉(zhuǎn)換。

          資源

          文檔:https://pillow.readthedocs.io/en/3.1.x/index.html提供了安裝說明以及庫中每個模塊的示例。

          使用

          在Pillow中使用ImageFilter增強圖像:

          1. from PIL importImage, ImageFilter

          2. #Read image

          3. im = Image.open( 'image.jpg' )

          4. #Display image

          5. im.show()

          6. from PIL importImageEnhance

          7. enh = ImageEnhance.Contrast(im)

          8. enh.enhance(1.8).show("30% more contrast")

          5.OpenCV-python

          OpenCV(開放源碼計算機視覺庫)是最廣泛使用的計算機視覺應(yīng)用程序庫之一 *OpenCV- python *是OpenCV的python API。OpenCV-Python不僅速度快,因為后臺由用C/ c++編寫的代碼組成,而且易于編碼和部署(由于前臺有Python包裝器)。這使得它成為執(zhí)行計算密集型計算機視覺程序的一個很好的選擇。

          資源

          OpenCV2-Python-Guide:https://github.com/abidrahmank/OpenCV2-Python-Tutorials讓使用OpenCV-Python變得很容易。

          使用

          下面的例子展示了OpenCV-Python在Image blend中使用金字塔創(chuàng)建一個名為'Orapple'的新水果。


          6.SimpleCV

          SimpleCV也是一個用于構(gòu)建計算機視覺應(yīng)用程序的開源框架。有了它,你可以訪問幾個高性能的計算機視覺庫,如OpenCV,而不必首先了解位深度、文件格式、顏色空間等。學習曲線大大小于OpenCV,正如他們的口號所說:讓計算機視覺變得容易”。一些擁護SimpleCV的觀點是:

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

          • 攝像頭、視頻文件、圖像和視頻流都是可互操作的

          資源

          官方的文檔非常容易理解,并且有大量的例子和用例可以遵循。

          使用


          7.Mahotas

          Mahotas是另一個用于Python的計算機視覺和圖像處理庫。它包含傳統(tǒng)的圖像處理功能,如濾波和形態(tài)學操作,以及更現(xiàn)代的計算機視覺功能,用于特征計算,包括興趣點檢測和局部描述符。該接口是用Python編寫的,適合于快速開發(fā),但是算法是用c++實現(xiàn)的,并且針對速度進行了調(diào)優(yōu)。Mahotas庫速度快,代碼簡潔,甚至具有最小的依賴性。閱讀他們的官方論文以獲得更多的了解。

          資源

          官方文檔包含安裝說明、示例甚至一些教程,可以幫助你輕松地開始使用。

          使用

          Mahotas庫依賴于使用簡單的代碼來完成任務(wù)。對于“查找Wally''的問題,Mahotas做得很好,而且只需要最少的代碼。這是源代碼。

          8.SimpleITK

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

          資源

          提供了大量Jupyter Notebooks,用來說明SimpleITK用于教育和研究活動。這些Notebooks演示了使用SimpleITK使用Python和R編程語言進行交互式圖像分析。

          使用

          下面的動畫是用SimpleITK和Python創(chuàng)建的準確的CT/MR登記過程的可視化。閱讀源代碼在此處:https://github.com/insightsoftwareassocitium/simpleitk-notebooks/blob/master/ties/intro_anim.py。

          9.pgmagick

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

          資源

          有一個專門用于PgMagick的Github Repository,其中有安裝和需求說明。還有一個關(guān)于這個主題的詳細user guid。

          使用

          使用pgmagick可以執(zhí)行的圖像處理活動很少:

          圖像縮放:

          邊緣提?。?/p>

          10.Pycairo

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

          資源

          Pycairo GitHub repository是一個很好的資源,有關(guān)于安裝和使用的詳細說明。還有一個入門指南,其中有一個關(guān)于Pycairo的簡短教程。

          使用

          使用Pycairo繪制線條、基本形狀和徑向梯度。

          總結(jié)

          這些是Python中一些有用且免費的圖像處理庫。有些是眾所周知的,有些可能對你來說是新的??梢栽囍嗔私庖幌隆?/p>

          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學視覺」公眾號后臺回復:擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目31講
          小白學視覺公眾號后臺回復:Python視覺實戰(zhàn)項目31講,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學視覺公眾號后臺回復:OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。

          END

          英文原文:https://towardsdatascience.com/image-manipulation-tools-for-python-6eb0908ed61f

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          喜歡的話,請給我個好看吧!

          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天色天天干天天色 | 天天看天天肏 | 淫香淫色综合网 | 中日韩精品一区二区三区四区 | 憧色AV网在线 |