国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解從均值濾波到非局部均值濾波算法的原理及實現方式

FPGA設計論壇 ? 來源:未知 ? 2023-12-19 16:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

圖像降噪處理主要分為2D(空域)與3D降噪(時域/多幀),而2D降噪由于相關的實現算法豐富,效果各異,初學入門有著豐富的研究價值。理解2D降噪算法的流程,也對其他的增強算法有很大的幫助,因此本文將再啰嗦一次,詳解從均值濾波到非局部均值濾波算法的原理及實現方式。

細數主要的2D降噪算法,如下圖所示,從最基本的均值濾波到相對最好的BM3D降噪,本文將盡量用最同屬的語言,詳解這些算法的實現流程,并給予一定的FPGA加速實現的實現思路。其中BM3D由于篇幅較大,后面再補上。

wKgZomWBVb6Af2ICAAHV9gqy8II496.png

1.1.均值/中值濾波

首先所有濾波算法都是通過當前像素周邊的像素,以一定的權重來計算濾波的像素值。因此主要涉及兩個變量:窗口的大小,以及窗口內像素的權重。以最簡單的均值濾波/中值濾波,3*3窗口為例,計算及優缺點如下:

wKgZomWBVb6ARqweAADKCKhbQ6E689.png

對于FPGA的硬件加速實現,過程還好,唯一頭疼的就是涉及了除法,由于除法計算時鐘周期長且耗費LE,我們需要升級改造下,因此優化公式如下(sum為9個像素累加的結果),將除法巧妙變成乘法:

wKgZomWBVb6ANWthAAAJ1l8Fzgs858.png

因此實現的流程如下

1)sum1=P0+P1+P2; sum1=P3+P4+P5; sum3=P6+P7+P8,即先求每行3像素累加

2)sum=sum1+sum2+sum3,即求三行9像素累加

3)sum*144,取結果的[17:10],即為均值濾波的結果。

4)以上過程流水線,最終每個clk輸出一個計算結果。

備注:這里1024/9取了floor,這樣保證不會溢出。

對于中值濾波而言,本身計算并不復雜,就看怎么取巧最快得到中間數,網上流傳了一個三步法,即如下圖所示,

wKgZomWBVb6ASzWYAADnl6GvmuU841.png

那么FPGA硬件加速實現,流程如下:

1)計算每行3個像素的最大中、中值、最小值

2)計算三個最大值的最小值,中間值的中間值,以及最小值的最大值。

3)對上述三個值求得中間值。

4)以上過程流水線,最終每個clk輸出一個計算結果。

中值濾波計算相對均值濾波稍微復雜一點,但是好處是只用了比較器,沒用乘法器,比均值濾波更省資源。

對于椒鹽圖像的均值濾波、中值濾波計算效果對比,如下所示,分別為椒鹽圖像、均值濾波、中值濾波結果。

wKgZomW-5jaAfiQNAAKKaeHbqys604.png

1.2.高斯濾波

1)

前面講的均值/中值濾波,對于窗口內每個像素的權重都是一樣的,噪聲在圖像當中常表現為一引起較強視覺效果的孤立像素點或像素塊,那么他必然不是平均分布。

正態分布是最重要的一種概率分布,相關概念上是由德國的數學家和天文學家Moivre與1733年首次提出的,但由于德國數學家Gauss率先將其用于天文學研究,因此也叫做高斯分布。在正態分布里,人為中間狀態是常態,過高和過低都屬于少數,因此正態分布具有相當的普遍性,典型的比如升高、壽命、血壓、成績、測量誤差等都遵從正太分布。

wKgZomWBVb-Af3cYAASHJsu57q0062.png

因此以概率論及中心極限定理(https://wiki.mbalib.com/wiki/中心極限定律)猜想,大部分噪聲應該也符合正態分布/高斯分布(高斯白噪聲),所以也就有了高斯濾波,及根據正態分布進行權重計算的濾波方法。上圖曲線是高斯分布的一維函數,而圖像應該是二維的,圖解如下二維高斯分布:

wKgZomWBVb-AZpurAAHfG42NU28767.png

既然已經得到二維高斯分布函數,那么根據窗口到目標像素的距離,就可以是計算出周邊像素的權重——高斯模板。均值濾波每個像素的權重都是1/9,再通過卷積后計算得到結構,而高斯濾波就是根據正態分布,去計算當前像素相對距離的權重值,假定σ=1.5(σ就是濾波的強度),3*3的高斯模板計算計算過程如下:

wKgZomWBVb-AG_O7AAMsXn0kokw921.png

但是這還不夠,畢竟我們的目標是直接上FPGA,那必須頂定點化,因此假設擴大1024倍,則3*3的高斯模板定點化如下:

wKgZomWBVb-ADNd5AAA449zqkMo618.png

對于33或者55,選定的σ,高斯模板那么,現在計算就簡單了,卷積后再縮小1024倍即可,采用FPGA計算,過程如下:

1)計算9個像素的對應卷積參數的乘法

2)9累加9個乘法結果

3)右移10bit或取結果的[17:10],即為高斯濾波的結果。

4)以上過程流水線,最終每個clk輸出一個計算結果。

備注:當然實現還可優化,比如只用3個乘法器,算一行累加一行,也就4個時鐘算完。

最后,暫且盜用別人針對不同σ的3*3高斯濾波效果圖,如下(σ越大越模糊):

wKgaomW-5myAVna6AADoNA98tqA290.png

wKgZomWBVcCABUGrAABUdafP6GM276.jpg

精彩推薦 至芯科技FPGA就業培訓班——助你步入成功之路、12月30號西安中心開課、歡迎試聽! AXI總線協議總結 基于FPGA及模擬電路的模擬信號波形的實現掃碼加微信邀請您加入FPGA學習交流群

wKgZomWBVcCAXgqKAABiq3a-ogY313.jpgwKgZomWBVcCAT7VzAAACXWrmhKE589.png

歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!

點個在看你最好看


原文標題:詳解從均值濾波到非局部均值濾波算法的原理及實現方式

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1660

    文章

    22408

    瀏覽量

    636211

原文標題:詳解從均值濾波到非局部均值濾波算法的原理及實現方式

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機常見的濾波算法

    =4 2、優點: 適用于對一般具有隨機干擾的信號進行濾波 這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動 3、缺點: 對于測量速度較慢或要求數據計算速度較快的實時控制不適用 比較
    發表于 01-28 06:31

    ADC均值濾波方法

    [list=1] [*]#define ADC_SAMPLE_NUM 10 [*]u16 adc_value[5*ADC_SAMPLE_NUM];//ADC采集值存放緩沖區 [*] [*] [*]void ADC_Filter(u16* adc_val) [*]{ [*]u16 i=0; [*]u32 sum[5]={0,0,0,0}; [*] [*]for(;i
    發表于 01-22 07:03

    單片機ADC采樣算法-中位值平均濾波

    中位值平均濾波濾波法就是通過連續采樣N個數據,然后對數據從小到大排序,然后去掉最大值和最小值,對剩余的N-2個值計算算數平均值。也就是中位值濾波和算數平均
    發表于 01-22 06:17

    詳解WE - BPF多層芯片帶通濾波器:參數到使用注意事項

    詳解WE - BPF多層芯片帶通濾波器:參數到使用注意事項 在電子產品的設計中,濾波器是一個至關重要的組件,它能夠幫助我們精確地篩選出所需頻率的信號,抑制不需要的干擾。今天,我們就來
    的頭像 發表于 12-29 15:55 ?281次閱讀

    通信系統中濾波器的種類及特點(1)

    完全相同。從實現角度來說,每個濾波器的實現方式也均不相同,有的是通過電磁諧振原理來實現,有的是通過薄膜技術來
    的頭像 發表于 12-29 09:17 ?6201次閱讀
    通信系統中<b class='flag-5'>濾波</b>器的種類及特點(1)

    單片機ADC常用十大濾波算法

    時:信號平滑度較低,但靈敏度較高 N值的選取:一般流量,N=12;壓力:N=4 2、優點: 適用于對一般具有隨機干擾的信號進行濾波 這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動 3、缺點
    發表于 12-09 07:44

    ADC的采樣濾波算法利用卡爾曼濾波算法

    ; ADC_OLD_Value = ADC_Value; kalman_adc_old = kalman_adc; return kalman_adc;} 4 如何優化 用以上的代碼實現濾波算法,通常要么滯后
    發表于 12-01 07:44

    單片機的算法

    +=(Data_buff[i]/9); } return Result; } 算術平均濾波算法算法通過連續讀取幾個數據的方式來求取平均值
    發表于 11-28 08:19

    用于單片機幾種C語言算法

    為克服隨機干擾引起的誤差,硬件上可采用濾波技術,軟件上可采用軟件算法實現數字濾波濾波算法往往是
    發表于 11-27 06:00

    詳解電容濾波與電感濾波的區別

    在電子電路中,常常會用到濾波電路,尤其是電源芯片,有的是電容濾波,有的是電感濾波,電容和電感濾波的作用看起來差不多,那么它們之間有什么區別呢?在實際應用中又如何選擇呢?
    的頭像 發表于 10-23 14:10 ?6033次閱讀
    <b class='flag-5'>詳解</b>電容<b class='flag-5'>濾波</b>與電感<b class='flag-5'>濾波</b>的區別

    數據濾波算法的具體實現步驟是怎樣的?

    (高頻電磁、瞬時脈沖等),選擇適配的濾波算法并落地。以下以電能質量監測中最常用的 IIR 低通濾波(抗高頻干擾)、滑動平均濾波(抗瞬時脈沖)、卡爾曼
    的頭像 發表于 10-10 16:45 ?813次閱讀

    基于Matlab與FPGA的雙邊濾波算法實現

    前面發過中值、均值、高斯濾波的文章,這些只考慮了位置,并沒有考慮相似度。那么雙邊濾波來了,既考慮了位置,有考慮了相似度,對邊緣的保持比前幾個好很多,當然實現上也是復雜很多。本文將從原理
    的頭像 發表于 07-10 11:28 ?4559次閱讀
    基于Matlab與FPGA的雙邊<b class='flag-5'>濾波</b><b class='flag-5'>算法</b><b class='flag-5'>實現</b>

    藍牙信標RSSI濾波算法

    藍牙信標RSSI濾波算法?主要用于處理RSSI值的不穩定性和噪聲,以提高距離估計的準確性。RSSI(接收信號強度指示)是藍牙信標中常用的參數,用于評估設備之間的距離或信號質量。然而,RSSI值的測量
    的頭像 發表于 05-12 19:45 ?1011次閱讀
    藍牙信標RSSI<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>

    AD8361均值響應功率檢波器技術手冊

    AD8361是一款均值響應功率檢波器,適用于最高2.5 GHz的高頻接收機和發射機信號鏈。 該器件使用非常簡單, 在大部分應用中僅需2.7 V至5.5 V的單電源、電源去耦電容和輸入耦合電容即可工作
    的頭像 發表于 03-25 14:10 ?1713次閱讀
    AD8361<b class='flag-5'>均值</b>響應功率檢波器技術手冊

    恩智浦講解如何在低算力MCU平臺上優雅的計算均值和方差

    本文主要探討如何在有限的計算能力和內存條件下,優雅地實現高效的均值和方差計算。通過優化算法、減少計算復雜度、利用遞推公式和定點數運算,文章提供了一系列使用技巧,幫忙開發者在保持精度的同時,顯著降低計算開銷。這些方法特別適用于物聯
    的頭像 發表于 03-06 08:56 ?1657次閱讀
    恩智浦講解如何在低算力MCU平臺上優雅的計算<b class='flag-5'>均值</b>和方差