<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>

          一文總結Python數(shù)字圖像處理基礎知識與前沿應用

          共 5530字,需瀏覽 12分鐘

           ·

          2021-06-09 02:18

          點擊下面卡片關注,”AI算法與圖像處理

          最新CV成果,火速送達

          介紹
          數(shù)字圖像處理由涉及在計算機上處理圖像的各種技術和方法組成。對圖像進行各種類型的操作,構成數(shù)字圖像處理。

          了解圖像實際上是什么

          圖像基本上是二維信號。信號函數(shù)是 f(x,y),其中 x 和 y 在某個點的值生成該點的像素。圖像基本上是一個由 0 到 255 之間的數(shù)字組成的二維數(shù)組。
          圖像處理涉及多種因素。圖像處理有幾個主要動機。

          圖像處理幫助

          1. 改進我們存儲的數(shù)字信息。
          2. 使圖像處理自動化。
          3. 更好的圖像優(yōu)化,實現(xiàn)高效的存儲和傳輸。
          這些年來,圖像處理有了很大的進步,圖像處理的現(xiàn)代商業(yè)應用也很多。

          圖像處理用途

          1.  圖像校正、銳化和分辨率校正
          通常,我們希望我們可以將舊圖像做得更好。這在今天是可能的。縮放、銳化、邊緣檢測、高動態(tài)范圍編輯都屬于這一類。所有這些步驟都有助于增強圖像。大多數(shù)編輯軟件和圖像校正代碼都可以輕松完成這些操作。
          2. 編輯應用程序和社交媒體的過濾器
          如今,大多數(shù)編輯應用程序和社交媒體應用程序都提供過濾器。
          以上是原始圖像和過濾后的圖像的示例。濾鏡使圖像看起來更具視覺吸引力。濾鏡通常是一組函數(shù),可以更改圖像中的顏色和其他方面,使圖像看起來不同。過濾器是圖像處理的一個有趣應用。
          3. 醫(yī)療技術
          在醫(yī)學領域,圖像處理用于各種任務,如 PET 掃描、X 射線成像、醫(yī)學 CT、紫外線成像、癌細胞圖像處理等等。將圖像處理引入醫(yī)療技術領域極大地改善了診斷過程。
          左邊的圖像是原始圖像。右邊的圖像是經(jīng)過處理的圖像。我們可以看到處理后的圖像要好得多,可以用于更好的診斷。
          4. 計算機/機器視覺
          圖像處理最有趣和最有用的應用之一是計算機視覺。計算機視覺用于使計算機看到、識別事物,并將整個環(huán)境作為一個整體進行處理。計算機視覺的一個重要用途是自動駕駛汽車、無人機等。CV 有助于障礙物檢測、路徑識別和理解環(huán)境。
          這就是典型的計算機視覺對汽車自動駕駛儀的工作方式。計算機接收實時鏡頭并分析其他汽車、道路和其他障礙物。
          5. 模式識別
          模式識別是圖像處理的一部分,涉及人工智能和機器學習。圖像處理用于找出圖像中的各種模式和方面。模式識別用于手寫分析、圖像識別、計算機輔助醫(yī)療診斷等。
          6. 視頻處理
          視頻基本上是圖像的快速移動。視頻處理中使用了各種圖像處理技術。視頻處理的一些方法是噪聲去除、圖像穩(wěn)定、幀速率轉換、細節(jié)增強等等。

          Python 圖像處理入門

          讓我們從 Python 中的一些基本圖像相關任務開始。我們將使用 PIL。
          PIL:https://pypi.org/project/Pillow/
          Python 圖像庫用于各種圖像處理任務。

          安裝

             
          pip install pillow
          安裝了PIL后,我們現(xiàn)在可以轉到代碼了。
          首先,我們使用一些 matplotlib 函數(shù)。
             
          import matplotlib.image as img
          import matplotlib.pyplot as plt
          import numpy as np
          %matplotlib inline
          將讀取以下圖像。它被命名為 image1.jpg。
             
          # reading jpg image 
          img = img.imread('image1.jpg')
          plt.imshow(img)
          圖像被讀取。
             
          # modifying the shape of the image
          lum1 = img[:, :, 0
          plt.imshow(lum1)
          現(xiàn)在修改了圖像形狀。
          現(xiàn)在我們將其更改為“熱”顏色圖。
          要了解有關顏色圖的更多信息,請訪問此鏈接:https://matplotlib.org/stable/tutorials/colors/colormaps.html
             
          plt.imshow(lum1, cmap ='hot'
          plt.colorbar()
          圖像輸出看起來:
          現(xiàn)在我們嘗試不同的顏色圖。
             
          imgplot = plt.imshow(lum1)
          imgplot.set_cmap('nipy_spectral')
          圖像輸出:
          使用顏色圖的原因是,通常在各種應用程序和用途中,擁有統(tǒng)一的顏色圖會有所幫助。閱讀有關顏色圖的更多信息:在 Matplotlib 中選擇顏色圖 https://matplotlib.org/stable/tutorials/colors/colormaps.html
          現(xiàn)在讓我們看看為什么我們將圖像稱為二維數(shù)組。
             
          #data type of lum1

          print(type(lum1))
          輸出:<class 'numpy.ndarray'>
             
          print(lum1)
          [[ 92 91 89 … 169 168 169]
          [110 110 110 … 168 166 167]
          [100 103 108 … 164 163 164]
          [ 97 96 95 … 144 147 147]
          [ 99 99 98 … 145 139 138]
          [102 102 103 … 149 137 137]]
          這些點只是為了表明它們之間還有更多的數(shù)據(jù)點。但是可以肯定的是,所有數(shù)據(jù)都是數(shù)字數(shù)據(jù)。
          讓我們找出數(shù)組的大小。
             
          len(lum1)
          輸出:320
             
          len(lum1[300])
          輸出:658
          這為我們提供了圖像的像素數(shù)和尺寸:320*658。
          我們稍后也會驗證這一點。
          現(xiàn)在,我們使用 PIL。
             
          from PIL import Image
          我們將使用這個圖像文件,命名為:people.jpg。
             
          img2 = Image.open('people.jpg')
          plt.imshow(img2)
          圖像被讀取。
          現(xiàn)在,我們調(diào)整圖像大小。
             
          img2.thumbnail((5050), Image.ANTIALIAS)  # resizes image in-place
          imgplot = plt.imshow(img2)
             
          imgplot1 = plt.imshow(img2, interpolation="nearest")
             
          imgplot2 = plt.imshow(img2, interpolation="bicubic")
          但是,為什么我們在圖像處理中故意模糊圖像?通常對于模式識別和計算機視覺算法,如果圖像非常清晰,處理起來就會很困難。因此進行模糊處理以使圖像平滑。模糊還可以使圖像中的顏色過渡從一側到另一側更加平滑。
          現(xiàn)在,讓我們驗證我們之前處理過的汽車圖像的尺寸。
             
          #some more interesting stuff
          file='image1.jpg'
          with Image.open(file) as image: 
              width, height = image.size 
          #Image width, height is be obtained
          這些也是我們之前得到的維度。所以我們可以得出結論,圖像是320*658。
          讓我們也嘗試旋轉和轉置圖像。
             
          #Relative Path 
          img3 = Image.open("image1.jpg")  
          #Angle given 
          img_rot= img3.rotate(180)  
          #Saved in the same relative location 
          img_rot.save("rotated_picture.jpg")
          這是旋轉后的圖像。
             
          #transposing image  
          transposed_img = img3.transpose(Image.FLIP_LEFT_RIGHT)
          #Saved in the same relative location 
          transposed_img.save("transposed_img.jpg")
          這是轉置后的圖像。

          尾注

          圖像處理有各種重要的應用,隨著時間的推移,方法和過程也會得到改進。


                
          個人微信(如果沒有備注不拉群!
          請注明:地區(qū)+學校/企業(yè)+研究方向+昵稱



          下載1:何愷明頂會分享


          AI算法與圖像處理」公眾號后臺回復:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經(jīng)典工作的總結分析


          下載2:終身受益的編程指南:Google編程風格指南


          AI算法與圖像處理」公眾號后臺回復:c++,即可下載。歷經(jīng)十年考驗,最權威的編程規(guī)范!



              
          下載3 CVPR2021

          AI算法與圖像處公眾號后臺回復:CVPR即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文

          點亮 ,告訴大家你也在看



          瀏覽 52
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产在线看片 | 欧美高清精品成人在线 | 免费视频一区二区三区四区 | 婷婷激情在线综合 | a片黄色免费观看 |