1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        基于OpenCV實戰(zhàn):3步實現(xiàn)圖像降噪

        共 2491字,需瀏覽 5分鐘

         ·

        2021-05-25 16:29

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

        重磅干貨,第一時間送達


        在本文中,我們將展示如何通過三個簡單的步驟來實現(xiàn)降噪。我們將使用機器學習訓練的降噪模型,最好的降噪模型之一。


        程序可以判斷圖像是否有噪點嗎?這應(yīng)該是一個很有創(chuàng)意的想法,因為我們的降噪模型不夠智能,無法計算出噪聲。我們必須自己確定價值觀。在這種情況下,最好的方法通常是嘗試不同的值并找到最佳結(jié)果。經(jīng)過一些練習,我們將獲得更多經(jīng)驗,并且找到最佳參數(shù)值將更加容易。


        導(dǎo)讀


        在這個項目中,我們將使用三個Python軟件包:OpenCV,Matplotlib和NumPy。OpenCV是一個非常知名的計算機視覺工具包。作為OpenCV庫的先決條件,我們將需要安裝NumPy。讀取圖像時,我們將像素轉(zhuǎn)換為數(shù)組。NumPy將在后臺進行該操作。當處理多維數(shù)組時,NumPy是無法替代的。


        降噪模型


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

        圖片中的黃色區(qū)域看起來很像。另外,綠色的小區(qū)域看起來很相似。非局部均值去噪算法選擇一個像素,在其周圍取一個小窗口,掃描圖像中的相似窗口,對所有窗口取平均值,然后計算結(jié)果以替換該像素。該算法被稱為非本地算法,因為它搜索整個圖像以找到相互聯(lián)系,而不僅僅是在單個區(qū)域周圍。


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


        • src:我們要進行降噪的輸入圖像。

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

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

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

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

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


        步驟一、安裝軟件包


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

        pip install numpy opencv-python

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

        import cv2 import numpy as np


        步驟二、導(dǎo)圖圖像


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

        實驗圖像:

        讀取圖像:

        img = cv2.imread("test_image.png")
        步驟三、對影像進行降噪


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

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


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

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


        降噪效果分析


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


        — — 完 — —


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

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

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

        交流群


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


        瀏覽 72
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美黑人操逼视频 | 久久婷婷午夜 | 天堂AV秘 永久进入 | 性欧美大战久久久久久久久 | 欧美一级全黄 | 五月丁香久久综合 | 好大好硬好舒服 | 欧美成人精品不卡视频在线观看 | 亚洲天堂网在线观看 | 我要看操逼的片子能给我播放吗谢谢 |