<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中的OpenCV降噪功能增強(qiáng)圖像的3個(gè)步驟

          共 3399字,需瀏覽 7分鐘

           ·

          2021-04-02 10:19

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          在本文中,我們將展示如何通過(guò)三個(gè)簡(jiǎn)單的步驟來(lái)實(shí)現(xiàn)降噪。我們將使用機(jī)器學(xué)習(xí)訓(xùn)練的降噪模型。這是我們找到的最好的降噪模型之一。


          程序可以判斷圖像是否有噪點(diǎn)嗎?這對(duì)于另一個(gè)項(xiàng)目可能是個(gè)主意,因?yàn)槲覀兊慕翟肽P筒粔蛑悄埽瑹o(wú)法計(jì)算出噪聲。因此我們必須自己確定。在這種情況下,最好的方法通常是嘗試不同的值并找到最佳結(jié)果。經(jīng)過(guò)一些練習(xí),我們會(huì)獲得更多經(jīng)驗(yàn),并且找到最佳參數(shù)值。


          介紹


          在這個(gè)項(xiàng)目中,我們將使用三個(gè)Python軟件包:OpenCV,Matplotlib和NumPy。OpenCV是一個(gè)非常知名的計(jì)算機(jī)視覺(jué)工具包。作為OpenCV庫(kù)的先決條件,我們將需要安裝NumPy。讀取圖像時(shí),我們將像素轉(zhuǎn)換為數(shù)組。NumPy將在后臺(tái)進(jìn)行該操作。當(dāng)處理多維數(shù)組時(shí),NumPy是足夠的。


          降噪模型


          這是該項(xiàng)目非常有趣的部分。首先,我將分享我們將用于減少噪聲的算法。然后,我將分享它具有多少個(gè)參數(shù)以及每個(gè)參數(shù)的含義。

           

                                   

          圖片中的黃色區(qū)域看起來(lái)很像。另外,綠色的小區(qū)域也看起來(lái)很相似。非局部均值去噪算法選擇一個(gè)像素,在其周圍取一個(gè)小窗口,掃描圖像以獲得相似的窗口,對(duì)所有窗口求平均,然后計(jì)算結(jié)果以替換該像素。該算法被稱為非本地算法,因?yàn)樗阉髡麄€(gè)圖像以找到相互聯(lián)系,而不僅僅是在單個(gè)區(qū)域周圍。那不是很酷嗎?


          該算法包含兩個(gè)常用函數(shù):fastNlMeansDenoising和fastNlMeansDenoisingColored。第一個(gè)用于灰度圖像,第二個(gè)用于彩色照片。在我們的例子中,我們將使用彩色圖像。


          該函數(shù)的參數(shù)為src,dst,h,hcolor,templateWindowSize,和searchWindowSize。

          src:我們要進(jìn)行降噪的輸入圖像。

          dst:如果要導(dǎo)出結(jié)果,則為目的地。

          h:亮度分量(較大的h值會(huì)消除更多的噪點(diǎn),但也會(huì)降低圖像的質(zhì)量)。

          hcolor:顏色分量(這10是彩色圖像文檔中的推薦值)。

          templateWindowSize:該功能將平滑的區(qū)域的像素大小。它應(yīng)該是一個(gè)奇數(shù)整數(shù)。

          searchWindowSize:該功能將找到并用作參考的區(qū)域的像素大小。它對(duì)性能產(chǎn)生線性影響:值越大,searchWindowSize表示去噪時(shí)間越長(zhǎng)。另外,它應(yīng)該是一個(gè)奇數(shù)整數(shù)(21是官方文檔推薦的值,因?yàn)樗m用于大多數(shù)嘈雜的圖像情況)。


          步驟1:安裝軟件包


          我們必須安裝兩個(gè)庫(kù)才能使我們的程序正常運(yùn)行:numpy和opencv-python。我們可以使用PIP庫(kù)管理器將它們安裝在一行中:

          pip install numpy opencv-python


          讓我們繼續(xù)創(chuàng)建一個(gè)新的Jupyter Notebook(但可以隨意使用所需的代碼編寫(xiě)環(huán)境)。這是我的第一個(gè)筆記本塊,我們?cè)谄渲袑?dǎo)入剛剛構(gòu)建的庫(kù):

          import cv2import numpy as np


           


          步驟2:導(dǎo)入圖像


          在這一步中,我們將找到要用于降噪的圖片。為了更清楚地看到更改,它可能是嘈雜的圖片。也可以隨意使用常規(guī)圖像-仍然會(huì)出現(xiàn)平滑現(xiàn)象。

          這是我們所使用的圖像:

          這是讀取圖像的行。我們正在使用OpenCV的imread方法:

          img =cv2.imread("test_image.png")


          現(xiàn)在,我們進(jìn)入第三步,也是最后一步,我們將在實(shí)際操作中看到降噪效果。


          步驟3:對(duì)影像進(jìn)行除噪


          到目前為止看起來(lái)不錯(cuò)!現(xiàn)在,這是項(xiàng)目的有趣部分。我們將看到降噪后圖像的外觀。我們將使用三個(gè)不同的值運(yùn)行該函數(shù),以查看每個(gè)值如何影響最終結(jié)果。隨意檢查第一步,以了解每個(gè)參數(shù)代表什么。

          denoise_1 = cv2.fastNlMeansDenoisingColored(img,None,3,3,7,21denoise_2 = cv2.fastNlMeansDenoisingColored(img,None,5,5,7,21denoise_3 = cv2.fastNlMeansDenoisingColored(img,None,15,15,157,21


          去噪圖像分配給不同的變量。讓我們保存結(jié)果。我們將使用OpenCV的imwrite方法。如您所見(jiàn),我們傳遞變量和要保存的文件名。

          cv2.imwrite('image_1.png',denoise_1)cv2.imwrite('image_2.png',denoise_2)cv2.imwrite('image_3.png',denoise_3)


          比較結(jié)果

          我們可以按順序看到它們。值越大,圖像變得越平滑。

          這是一張查看前后變化的圖片。我選擇了denoise_1我的最終結(jié)果。

          恭喜你!我們開(kāi)發(fā)了一種程序,可以將圖像的噪點(diǎn)降低不同程度。還有許多其他圖像縮小算法。小伙伴可以嘗試一下,然后選擇自己喜歡的。根據(jù)我們的經(jīng)驗(yàn),它們不如我們?cè)诒疚闹惺褂玫哪菢訌?qiáng)大,即非局部均值降噪算法。一些降噪算法也稱為模糊算法。


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

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

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


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


          瀏覽 75
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  人人艹人人摸 | 操嫩逼电影 | 亚洲美女高潮喷水 | 中文字幕一区二区在线观看 | 伊人91|