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

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

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

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

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

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

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

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

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

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

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

2.高斯濾波算法理論

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

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

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

左側(cè)為生成5*5模板的Matlab代碼,我們先根據(jù)高斯分布的公式生成5*5 的模板。其中11行為原始二維高斯分布的函數(shù),而12行中我已經(jīng)將常熟去掉,畢竟后續(xù)需要?dú)w一化,就可以簡(jiǎn)化公式,得到的高斯權(quán)重分布如有圖G1所示,為一堆浮點(diǎn)數(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行所示,得到右邊第二個(gè)表格數(shù)據(jù)的模板。

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598981
  • matlab
    +關(guān)注

    關(guān)注

    179

    文章

    2946

    瀏覽量

    229473

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

    浮點(diǎn)LMS算法FPGA實(shí)現(xiàn)

    引言 LMS(最小均方)算法因其收斂速度快及算法實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn)在自適應(yīng)濾波器、自適應(yīng)天線陣技術(shù)等領(lǐng)域得到了十分廣泛的應(yīng)用。為了發(fā)揮算法的最佳
    的頭像 發(fā)表于 12-21 16:40 ?598次閱讀

    fpga布局布線算法加速

    任務(wù)是將邏輯元件與連接線路進(jìn)行合理的布局和布線,以實(shí)現(xiàn)性能優(yōu)化和電路連接的可靠性。然而,FPGA布局布線的過程通常是一項(xiàng)繁瑣且耗時(shí)的任務(wù),因此加速布局布線算法的研究具有重要意義。本文將詳盡探討
    的頭像 發(fā)表于 12-20 09:55 ?596次閱讀

    詳解從均值濾波到非局部均值濾波算法的原理及實(shí)現(xiàn)方式

    將再啰嗦一次,詳解從均值濾波到非局部均值濾波算法的原理及實(shí)現(xiàn)方式。 細(xì)數(shù)主要的2D降噪算法,如下圖所示,從最基本的均值
    的頭像 發(fā)表于 12-19 16:30 ?860次閱讀
    詳解從均值<b class='flag-5'>濾波</b>到非局部均值<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>的原理及<b class='flag-5'>實(shí)現(xiàn)</b>方式

    基于FPGA的窄帶干擾抑制算法實(shí)現(xiàn)方案

    電子發(fā)燒友網(wǎng)站提供《基于FPGA的窄帶干擾抑制算法實(shí)現(xiàn)方案.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 09:29 ?0次下載
    基于<b class='flag-5'>FPGA</b>的窄帶干擾抑制<b class='flag-5'>算法</b>的<b class='flag-5'>實(shí)現(xiàn)</b>方案

    基于FPGA圖像處理的高斯模糊實(shí)現(xiàn)

    高斯模糊(Gaussian Blur)是一種高斯低通濾波,可以過濾掉圖像的高頻部分,保留低頻部分,對(duì)于去除高斯噪聲非常有效果,常常被用于圖像去噪中。
    發(fā)表于 10-26 09:36 ?588次閱讀
    基于<b class='flag-5'>FPGA</b>圖像處理的<b class='flag-5'>高斯</b>模糊<b class='flag-5'>實(shí)現(xiàn)</b>

    卡爾曼濾波算法對(duì)比其他的濾波算法有什么優(yōu)點(diǎn)?

    卡爾曼濾波算法對(duì)比其他的濾波算法有什么優(yōu)點(diǎn)
    發(fā)表于 10-11 06:42

    卡爾曼濾波算法是怎么實(shí)現(xiàn)對(duì)數(shù)據(jù)的預(yù)測(cè)處理的?

    卡爾曼濾波算法是怎么實(shí)現(xiàn)對(duì)數(shù)據(jù)的預(yù)測(cè)處理的
    發(fā)表于 10-10 08:28

    怎么評(píng)估一個(gè)濾波算法濾波效果?

    怎么評(píng)估一個(gè)濾波算法濾波效果
    發(fā)表于 10-10 07:31

    高斯濾波是用的什么原理?

    能簡(jiǎn)單的介紹一下高斯濾波原理嗎
    發(fā)表于 10-09 08:00

    為什么高斯濾波廣泛的應(yīng)用在圖像處理中?

    為什么高斯濾波廣泛的應(yīng)用在圖像處理中
    發(fā)表于 10-09 06:31