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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

FPGA中高斯濾波算法的實現(xiàn)

FPGA自習(xí)室 ? 來源:瘋狂的FPGA ? 作者:CrazyBingo ? 2021-10-29 10:59 ? 次閱讀

1.高斯濾波算法的實現(xiàn)

前面講的均值/中值濾波,對于濾波窗口內(nèi)每個像素的權(quán)重都是一樣的。但是噪聲在圖像當(dāng)中常表現(xiàn)為異常視覺效果的孤立像素點或像素塊,那么他必然不是平均分布。

這里先引入一個概念:正態(tài)分布:

正態(tài)分布是最重要的一種概率分布,相關(guān)概念是由德國的數(shù)學(xué)家和天文學(xué)家Moivre在1733年提出的,但由于德國數(shù)學(xué)家Gauss率先將其用于天文學(xué)研究,因此也叫做高斯分布。在正態(tài)分布里,認(rèn)為中間狀態(tài)是常態(tài),過高和過低都屬于少數(shù),因此正態(tài)分布具有相當(dāng)?shù)钠毡樾裕湫偷谋热缥覀兊纳砀摺勖?、血壓、成績、測量誤差等都遵從正太分布。

以中國家庭動態(tài)跟蹤,抽樣掉找自報的身高數(shù)據(jù)為例,如下是2010年男/女身高分布直方圖,近似呈現(xiàn)正態(tài)分布。

扯遠(yuǎn)了,回歸正題,我們這里主題就是要處理高斯分布的噪聲,與椒鹽噪聲不同,高斯噪聲則是畫面上每個點都存在著不同程度的,與當(dāng)前像素距離成高斯分布的噪聲。這里我們繼續(xù)在前文已經(jīng)成熟的3*3滑窗方案上,進(jìn)行高斯算法的講解,及Matlab&FPGA的實現(xiàn)。

2.高斯濾波算法理論

根據(jù)概率論及中心極限定理(MBA智庫百科,全球?qū)I(yè)中文經(jīng)管百科)猜想,大部分噪聲應(yīng)該也符合正態(tài)分布/高斯分布(高斯白噪聲),所以也就有了高斯濾波,及根據(jù)正態(tài)分布進(jìn)行權(quán)重計算的濾波方法。

我們已經(jīng)介紹了高斯分布(正態(tài)分布),此處我們直接引入高斯分布函數(shù),為一維與二維高斯分布函數(shù),其中σ為高斯分布的強(qiáng)度,σ越大則數(shù)據(jù)更越分散,反之則越向中心集中分布:

我們首先采用Matlab自帶的高斯函數(shù)來驗證一下結(jié)果,σ=1的高斯濾波,可見有一定的模糊效果。圖3為5*5的窗口,σ=3的高斯濾波,模糊的強(qiáng)度稍微更大了一點。圖4為11*11的窗口,σ=3的高斯濾波,相對5*5窗口,σ=3的濾波,可見擴(kuò)大擴(kuò)大窗口后,濾波后模糊程度非常大,可見濾波窗口對濾波的強(qiáng)度影響更大,其次才是σ的大小。

左側(cè)為生成5*5模板的Matlab代碼,我們先根據(jù)高斯分布的公式生成5*5 的模板。其中11行為原始二維高斯分布的函數(shù),而12行中我已經(jīng)將常熟去掉,畢竟后續(xù)需要歸一化,就可以簡化公式,得到的高斯權(quán)重分布如有圖G1所示,為一堆浮點數(shù)據(jù)。

但是,二維高斯分布并不僅僅在5*5的區(qū)間內(nèi),權(quán)重在5*5之外仍然有分布,只不過我們當(dāng)前采用5*5的高斯分布,權(quán)且認(rèn)為數(shù)據(jù)主要分布在5*5之內(nèi),因此還需要進(jìn)一步的歸一化,來使得所有權(quán)中之和=1,如17-18行所示,得到右邊第二個表格數(shù)據(jù)的模板。

如果在Matlab中實現(xiàn),此時得到的模板已經(jīng)可以用于高斯濾波卷積計算。但我們的目標(biāo)是FPGA實現(xiàn),因此還需要進(jìn)一步定點化,這里采用*1024為例,生成最終的5*5的模板如上第三個表格所示。當(dāng)然最后需要/1024縮放回去,使得結(jié)果最終還原到0-255。

為Matlab進(jìn)行5*5高斯模板卷積的源代碼,其中IMG1為原圖,IMG2為采用Matlab自帶高斯濾波函數(shù)在σ=3,5*5窗口下的濾波結(jié)果,IMG3為我們手動編寫的,根據(jù)生成的定點化模板卷積后的結(jié)果。

其中在處理5*5卷積時,為了設(shè)計的簡便,邊緣像素采用了復(fù)制原值的操作。另外,由于Matlab是浮點運算,在卷積后將數(shù)據(jù)類型再次轉(zhuǎn)成uint8定點。最后執(zhí)行生成的結(jié)果如下圖所示,其中圖2為與圖3,處理結(jié)果幾乎一樣,我們定點化5*5高斯模板算法成功。

責(zé)任編輯:haq

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

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603420
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2976

    瀏覽量

    230483

原文標(biāo)題:高斯濾波算法之Matlab&FPGA實現(xiàn)

文章出處:【微信號:FPGA_Study,微信公眾號:FPGA自習(xí)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    圖像高斯濾波的原理及FPGA實現(xiàn)思路

    1.概念 高斯分布 圖像濾波高斯濾波介紹 圖像處理算法|高斯
    的頭像 發(fā)表于 12-07 09:12 ?275次閱讀
    圖像<b class='flag-5'>高斯</b><b class='flag-5'>濾波</b>的原理及<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>思路

    【「從算法到電路—數(shù)字芯片算法的電路實現(xiàn)」閱讀體驗】+內(nèi)容簡介

    、AI芯片、多媒體處理芯片等)都是由四則運算器、濾波器、特殊信號發(fā)生器等基本算法電路構(gòu)成的,熟練掌握這些基本算法電路是實現(xiàn)復(fù)雜算法電路的基礎(chǔ)
    發(fā)表于 11-21 17:14

    基于FPGA實現(xiàn)FIR數(shù)字濾波

    。隨著現(xiàn)代數(shù)字通信系統(tǒng)對于高精度、高處理速度的需求,越來越多的研究轉(zhuǎn)向采用FPGA實現(xiàn)FIR濾波器。而對于FIR濾波器要充分考慮其資源與運行速度的合理優(yōu)化,各種不同的FIR
    的頭像 發(fā)表于 11-05 16:26 ?597次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>FIR數(shù)字<b class='flag-5'>濾波</b>器

    STM32的ADC采樣及各式濾波算法實現(xiàn)

    本文為手把手教學(xué)ADC采樣及各式濾波算法的教程,本教程的MCU采用STM32F103ZET6。以HAL庫的ADC采樣函數(shù)為基礎(chǔ)進(jìn)行教學(xué),通過各式常見濾波的實驗結(jié)果進(jìn)行分析對比,搭配VOFA+工具直觀的展示
    的頭像 發(fā)表于 10-28 10:51 ?2208次閱讀
    STM32的ADC采樣及各式<b class='flag-5'>濾波</b><b class='flag-5'>算法</b><b class='flag-5'>實現(xiàn)</b>

    常用的ADC濾波算法有哪些

    ADC(模數(shù)轉(zhuǎn)換器)濾波算法在信號處理中起著至關(guān)重要的作用,它們能夠幫助我們提取出有用的信號,同時濾除噪聲和干擾。以下是常用的ADC濾波算法詳解,這些
    的頭像 發(fā)表于 10-08 14:35 ?393次閱讀

    高斯濾波和均值濾波的區(qū)別

    高斯濾波和均值濾波在圖像處理中都是常用的平滑濾波方法,但它們之間存在一些關(guān)鍵的區(qū)別。以下是兩者之間的主要區(qū)別: 1. 濾波原理
    的頭像 發(fā)表于 09-29 09:40 ?658次閱讀

    高斯濾波和雙邊濾波的區(qū)別

    高斯濾波和雙邊濾波在圖像處理中都是常用的平滑濾波技術(shù),但它們之間存在一些顯著的區(qū)別。以下是兩者之間的主要區(qū)別: 一、基本原理 高斯
    的頭像 發(fā)表于 09-29 09:37 ?423次閱讀

    高斯濾波的特點有哪些

    高斯濾波作為一種廣泛使用的圖像處理技術(shù),具有以下幾個顯著的特點: 平滑性 : 高斯濾波通過卷積操作對圖像進(jìn)行平滑處理,使圖像中的高頻部分(如噪聲、細(xì)節(jié)紋理)得到抑制,而低頻部分(如圖像
    的頭像 發(fā)表于 09-29 09:36 ?325次閱讀

    高斯濾波的卷積核怎么確定

    高斯濾波的卷積核確定主要依賴于高斯函數(shù)的特性以及圖像處理的具體需求。以下是確定高斯濾波卷積核的幾個關(guān)鍵步驟: 一、確定卷積核的大小 卷積核形
    的頭像 發(fā)表于 09-29 09:29 ?536次閱讀

    高斯濾波的基本原理有哪些

    高斯濾波的基本原理可以從以下幾個方面進(jìn)行闡述: 一、定義與性質(zhì) 定義 :高斯濾波(Gaussian Filter)是一種常見的圖像處理技術(shù),實質(zhì)上是一種信號的
    的頭像 發(fā)表于 09-29 09:27 ?526次閱讀

    FPGA設(shè)計經(jīng)驗之圖像處理

    系列:基于 FPGA 的圖像邊緣檢測系統(tǒng)設(shè)計(sobel算法FPGA設(shè)計中 Verilog HDL實現(xiàn)基本的圖像濾波處理仿真 需
    發(fā)表于 06-12 16:26

    FPGA實現(xiàn)什么樣的算法

    FPGA功能如此強(qiáng)大,請問用FPGA實現(xiàn)或者比較適合實現(xiàn)什么樣的算法
    發(fā)表于 05-26 20:18

    基于多速率DA的根升余弦濾波器的FPGA實現(xiàn)

    處理技術(shù)和分布式算法FPGA實現(xiàn)技術(shù),使得計算量大幅減少,處理速度得到較大提高,而且使得FPGA資源利用更合理。1、根升余弦濾波器原理與結(jié)
    發(fā)表于 03-25 14:21

    卡爾曼濾波算法c語言實現(xiàn)方法

    卡爾曼濾波(Kalman Filter)是一種用于估計狀態(tài)的算法,最初由R.E. Kalman在1960年提出。它是一種線性高斯濾波器,常用于處理包含誤差噪聲的動態(tài)系統(tǒng)。卡爾曼
    的頭像 發(fā)表于 01-17 10:51 ?2992次閱讀

    怎么用FPGA算法 如何在FPGA實現(xiàn)最大公約數(shù)算法

    FPGA算法的優(yōu)點在于它們可以提供高度的定制化和靈活性,使得算法可以根據(jù)實際需求進(jìn)行優(yōu)化和調(diào)整。此外,FPGA還可以實現(xiàn)硬件加速,提供比傳統(tǒng)
    的頭像 發(fā)表于 01-15 16:03 ?2320次閱讀