日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于FPGA的中值滤波算法的实现

發布時間:2024/8/1 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于FPGA的中值滤波算法的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于FPGA的中值濾波算法的實現

  • 算法介紹
  • FPGA上實現
    • 數據獲取
    • 算法實現
    • 仿真

算法介紹

中值濾波的基本原理是把數字圖像或數字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近的真實值,從而消除孤立的噪聲點。方法是用某種結構的二維滑動模板,將板內像素按照像素值的大小進行排序,生成單調上升(或下降)的為二維數據序列。

簡單來說:通常使用二維滑動模板,通過滑動,對模板內的數據進行排序,將排序后的中值提取出來,替換對應位置的數據,如圖1所示,使用3*3模板,需替換第一個數據‘5’,則模板為[000,057,045]T,對其取中值替換‘5’;如替換第二行第5列數據‘4’,模板則為[268,349,10 6 10]T,對其取中值替換‘4’;

FPGA上實現

數據獲取

關于數據的獲取,在此處,我們使用的是VGA/TFT顯示屏來顯示圖像,因此,圖像的獲取是通過TFT控制器將數據逐行輸出,數據從左到右依次輸出,一行輸出完畢,跳到下一行,繼續從左到右依次輸出;關于如何提取到需要的數據,且構成一個矩陣,在FPGA內,可以采用移位寄存的方法實現,實現方法如下:假如現在需要輸入18個數據,如圖2所示

假如我們現在有一個3行*6列的緩存器,可以將數據暫時緩存起來,數據從左到右,逐行輸入這個緩存器,每個時鐘輸入一個數據,經12個時鐘后,緩存器內數據應為如圖3所示

我們可以看到,如果我們可以把圈內數據提取出來,對其進行中值處理,替換第一個數據,如何提取出來,我們可以用9個寄存器,通過不斷移位,分別實現對3行數據的提取,相當于是一個3 * 3窗口,程序如下所示

always @(posedge clk or negedge rst_n) beginif(!rst_n) beginline0_data0 <= 16'b0;line0_data1 <= 16'b0;line0_data2 <= 16'b0;line1_data0 <= 16'b0;line1_data1 <= 16'b0;line1_data2 <= 16'b0;line2_data0 <= 16'b0;line2_data1 <= 16'b0;line2_data2 <= 16'b0;endelse if(data_in_en) beginline0_data0 <= line0;line0_data1 <= line0_data0;line0_data2 <= line0_data1;line1_data0 <= line1;line1_data1 <= line1_data0;line1_data2 <= line1_data1;line2_data0 <= line2;line2_data1 <= line2_data0;line2_data2 <= line2_data1; endelse ; end

line0為圖3第一行最后一個數據,line1為第二行最后一個數據,line2為第三行最后一個數據,

即在第12個時鐘,line0 = 6,line1 = 0(寄存器在下一個時鐘上升沿接收到數據)即line0_data0 = 6,line0_data1 = 5,line0_data2 = 4,line1_data0 = 0;
在第13個時鐘,line0 = 7,line1 = 1,即line0_data0 = 7,line0_data1 = 6,line0_data2 = 5,line1_data0 = 1;

第14個時鐘,line0 = 8,line1 = 2,line2 = 0,即line0_data0 = 8,line0_data1 = 7,line0_data2 = 6,line1_data0 = 2,line1_data1 = 1,line1_data2 = 0,line2_data0 = 0,line2_data1 = 0,line2_data2 = 0;可以看出,這9個數據構成了[8 7 6,2 1 0,0 0 0]T,是我們所需要的數據,對其進行中值運算后,替換第一個數據;

在第15個時鐘,line0 = 9,line1 = 3,line2 = 0,即line0_data0 = 9,line0_data1 = 8,line0_data2 = 7,line1_data0 = 3,line1_data1 = 2,line1_data2 = 1,line2_data0 = 0,line2_data1 = 0,line2_data2 = 0;可以看出,這9個數據構成了[9 8 7 ,3 2 1 ,0 0 0]T,對其進行中值運算后,替換第二個數據,這就實現了3*3窗口滑動。

為了實現上述既可以緩存數據,又可以移位,又可以分別輸出3個數據,在這里首先介紹一下Quartus Ⅱ軟件內的IP核’shift_ram ’,此IP全稱為:RAM-Based Shift Register ,即基于RAM的移位寄存器,其功能圖如圖5所示:此處設置的taps_distance為3,number_of_tap為4,即輸出的taps的間隔為3,輸出的taps為4,有4個輸出(摘自shift_ram用戶手冊)(在創建IP核時可以對此進行設置),由此功能圖可知,此IP核可以完美實現我們上述所需的功能。

算法實現

如圖6所示,第一步分別對三行像素進行排序:
由 L11,L12,L13 得到 L1max, L1mid, L1min;
由 L21,L22,L23 得到 L2max, L2mid, L2min;
由 L31,L32,L33 得到 L3max, L3mid, L3min。
第二步:
分別對三行像素中的 3 個最大,3 個中間和3個最小分別進行排序:
由 L1max, L2max, L3max 得到 Lmax_max, Lmax_mid, Lmax_min;
2)由 L1mid, L2mid, L3mid 得到 Lmid_max, Lmid_mid, Lmid_min;
3)由 Lmin, L2min, L3min 得到 Lmin_max, Lmin_mid, Lmin_min;
第三步:對最大的最小(Lmax_min),中間的中間(Lmid_mid)以及最小的最大
(Lmin_max)進行排序(例:由 Lmax_min,Lmid_mid,Lmin_max 得到midian)。
FPGA 的算法實現步驟基本如此。(注:此部分摘自“小梅哥基于 FPGA 的中值濾波算法的實現”);

數據獲取部分可知:我們替換第二個數據,可得到的矩陣為[9 8 7 ,3 2 1 ,0 0 0]T,第一步, L1max = 9, L1mid = 8, L1min = 7;L2max = 3, L2mid = 2, L2min = 1;L3max = 0, L3mid = 0, L3min = 0;Lmax_max =9, Lmax_mid =3, Lmax_min =0; Lmid_max =8, Lmid_mid =2, Lmid_min =0;Lmin_max =7, Lmin_mid =1, Lmin_min =0;由Lmax_min =0、Lmid_mid =2、Lmin_max =7得midian = 2;

仿真

設置的數據如圖7所示,現在需替換第2個數據“2000”;需獲得的數據為[1000 2000 3000,9001 9002 9003];

仿真圖如圖8所示,2000為第二位取中值后的數據,紅圈為取得的數據,因為由上述算法可知,對三行像素進行排序寄存一拍,對三行像素中的 3 個最大,3 個中間和3個最小分別進行排序進行寄存一拍,由 Lmax_min,Lmid_mid,Lmin_max 得到midian寄存一拍,因此數據是經3次寄存后輸出的,因此取得的數據應為紅圈處,由仿真可得,得到的數據與想要結果相同。

注:此文是對小梅哥圖像處理部分基于 FPGA 的中值濾波算法的實現的理解,使用的代碼和算法均來自于‘小梅哥圖像處理部分基于 FPGA 的中值濾波算法的實現’

總結

以上是生活随笔為你收集整理的基于FPGA的中值滤波算法的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 先锋av资源网| 黑丝少妇喷水 | 丁香婷婷一区二区三区 | 成人网久久 | 超污视频在线观看 | 噜噜噜久久,亚洲精品国产品 | 四虎看黄 | 快播日韩 | 欧美日韩一卡二卡三卡 | 高清视频一区 | 青青草国产在线 | 精品久操 | av在线综合网 | 久久66热这里只有精品 | 超碰cc | 免费大片av | 久久视频在线观看 | 国产精品毛片久久久 | 日本亲子乱子伦xxxx50路 | 国产乱轮视频 | 金瓶风月在线 | 一区二区三区四区中文字幕 | 中国一级片在线观看 | 国产精品久久无码 | 91网站免费在线观看 | 大咪咪dvd| 宅男av| 99riav视频 | 久久aaa | 99热这| 93久久精品日日躁夜夜躁欧美 | 一区二区三区久久久 | 你懂的亚洲 | 国产精品入口a级 | 最新黄色av | xfplay5566色资源网站 | 亚洲精品中文字幕在线播放 | 日本美女动态 | 天堂俺去俺来也www 欧美大片在线播放 | 中文在线天堂网 | 日韩xx视频 | 韩日视频在线观看 | 欧美黄色一区 | 久久国产精品一区二区 | 天堂网ww| 亚洲国产va | 华人在线视频 | 日本成人在线免费观看 | 国产女人水真多18毛片18精品 | 久操视频在线播放 | 久久加久久 | 中文字幕91| 69av导航 | 成人欧美精品 | 超碰人人搞 | 少妇高潮一区二区三区喷水 | 午夜亚洲视频 | 亚洲精品国产精品乱码不66 | 国产精品影音先锋 | 中文字幕一区二区三区乱码在线 | 婷婷成人在线 | 亚洲精品乱码久久久久久不卡 | 免费观看在线观看 | 午夜福利一区二区三区 | 99热这里只 | 五月花成人网 | 欧美日韩亚洲精品一区二区 | 自拍视频国产 | 欧美久久久久久久久久久 | 亚洲精品社区 | 妖精视频在线观看免费 | 宅男视频污 | 一区二区三区在线观看 | 亚洲天堂手机在线观看 | 在线黄网 | 亚洲黄色在线 | 国产精品成人一区二区三区 | 午夜av一区二区三区 | 亚洲精品传媒 | 日韩成人精品一区二区 | 欧美日韩久久久 | 成人免费视频网址 | 欧美片一区二区 | 色图插插插 | 永久免费精品影视网站 | 久久成人久久 | 91麻豆免费视频 | 亚洲一区二区三区免费视频 | 影音先锋成人资源 | 日韩三级成人 | 精品成人av一区二区三区 | 麻豆亚洲av熟女国产一区二 | 日本中文字幕第一页 | 国产毛片a | 国产网站免费在线观看 | 揄拍成人国产精品视频 | 亚洲一区精品视频 | 天天爽夜夜爽夜夜爽 | 91日韩精品 |