99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何用MATLAB來實現(xiàn)中值濾波

電子工程師 ? 來源:未知 ? 作者:工程師飛燕 ? 2018-08-25 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在實時圖像采集中,不可避免的會引入噪聲,尤其是干擾噪聲和椒鹽噪聲,噪聲的存在嚴重影響邊緣檢測的效果,中值濾波是一種基于排序統(tǒng)計理論的非線性平滑計數(shù),能有效平滑噪聲,且能有效保護圖像的邊緣信息,所以被廣泛用于數(shù)字圖像處理的邊緣提取,其基本原理是把數(shù)字圖像或數(shù)字序列中的一點的值用該點鄰域內(nèi)所有的點排序后的中值來代替。

中值濾波對椒鹽噪聲有良好的濾除作用,特別是在濾除噪聲的同時,能夠保護信號的邊緣,使之不被模糊。這些優(yōu)良特性是線性濾波方法所不具有的。而且,中值濾波的算法比較簡單,也易于用硬件實現(xiàn)。這篇我們先用MATLAB來實現(xiàn)中值濾波。

中值濾波方法是,對待處理的當前像素,選擇一個模板3x3、5x5或其他,這里選擇3x3矩陣,該模板為其鄰近的若干個像素組成,對模板的像素由小到大進行排序,再用模板的中值來替代原像素的值的方法。

如何用MATLAB來實現(xiàn)中值濾波

排序算法示意圖

當我們使用3x3窗口后獲取領(lǐng)域中的9個像素,就需要對9個像素值進行排序,為了提高排序效率,排序算法思想如圖所示。

(1)對窗內(nèi)的每行像素按降序排序,得到最大值、中間值和最小值。

(2)把三行的最小值即第三列相比較,取其中的最大值。

(3)把三行的最大值即第一列相比較,取其中的最小值。

(4)把三行的中間值即第二列相比較,再取一次中間值。

(5)把前面的到的三個值再做一次排序,獲得的中值即該窗口的中值。

sort排序函數(shù)

sort(A)若A可以使矩陣或行列向量,默認都是對A進行升序排列。

sort(A)是默認的升序,而sort(A,'descend')是降序排序。sort(A)若A是矩陣,默認對A的各列進行升序排列sort(A,dim)dim=1時相當于sort(A)

dim=2時表示對矩陣A中的各行元素升序排列

sort(A, dim, 'descend’)則對矩陣的每行進行降序排列

MATLAB Median Filter代碼實現(xiàn)

1 %RGB_YCbCr 2 clc; 3 clear all; 4 close all; 5 6 RGB_data = imread(‘lena.jpg’);% 7 8 R_data = RGB_data(:,:,1); 9 G_data = RGB_data(:,:,2);

10 B_data = RGB_data(:,:,3);11 12 %imshow(RGB_data);13 14 [ROW,COL, DIM] = size(RGB_data); 1516 Y_data = zeros(ROW,COL);

17 Cb_data = zeros(ROW,COL);18 Cr_data = zeros(ROW,COL);19 Gray_data = RGB_data;20 21 for r = 1:ROW 22 for c = 1:COL23

Y_data(r, c) = 0.299*R_data(r, c) + 0.587*G_data(r, c) + 0.114*B_data(r, c);24

Cb_data(r, c) = -0.172*R_data(r, c) - 0.339*G_data(r, c) + 0.511*B_data(r, c) + 128;25

Cr_data(r, c) = 0.511*R_data(r, c) - 0.428*G_data(r, c) - 0.083*B_data(r, c) + 128;26

end27 end 28 29 Gray_data(:,:,1)=Y_data;30 Gray_data(:,:,2)=Y_data;31 Gray_data(:,:,3)=Y_data;32 33 figure;

34 imshow(Gray_data);

35 36 %Median Filter37 imgn = imnoise(Gray_data,‘salt & pepper’,0.02);

38 39 figure;40 imshow(imgn);41 42 43 for r = 2:ROW-144

for c = 2:COL-145

median3x3 =[imgn(r-1,c-1) imgn(r-1,c) imgn(r-1,c+1)46

imgn(r,c-1) imgn(r,c) imgn(r,c+1)47

imgn(r+1,c-1) imgn(r+1,c) imgn(r+1,c+1)];48

sort1 = sort(median3x3, 2, ‘descend’);49

sort2 = sort([sort1(1), sort1(4), sort1(7)], ‘descend’);50

sort3 = sort([sort1(2), sort1(5), sort1(8)], ‘descend’);51

sort4 = sort([sort1(3), sort1(6), sort1(9)], ‘descend’);52

mid_num = sort([sort2(3), sort3(2), sort4(1)], ‘descend’);53

Median_Img(r,c) = mid_num(2);54 end55 end56 57 figure;58 imshow(Median_Img);

處理前后比較

Gray lena

加入椒鹽噪聲后的lena

對加入椒鹽噪聲后進行中值濾波的lena

可以看出,中值濾波對椒鹽噪聲的濾除效果真是非常的好。光看我處理后圖圖片可能看不出太明顯對比,有興趣的朋友可以自己嘗試下。這里MTALAB的排序部分基本是是按照排序算法一步步來的,完全符合FPGA實現(xiàn)的思路,所以說掌握算法的基礎(chǔ)原理和Verilog自己就可以嘗試用FPGA實現(xiàn)了。

這里需要強調(diào)的一下是這樣的濾波對圖像的邊緣沒有進行處理,這是因為我們在求取均值或中值時,生成的3x3矩陣,第一行的像素并沒有處理,同樣的圖像最外層邊緣的像素都沒有處理,不過這個對整體影響不大,所以后面再弄,下一篇來實現(xiàn)Sobel邊緣檢測。

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

    關(guān)注

    189

    文章

    3001

    瀏覽量

    234061
  • 圖像采集
    +關(guān)注

    關(guān)注

    2

    文章

    307

    瀏覽量

    41637
  • 濾波
    +關(guān)注

    關(guān)注

    10

    文章

    681

    瀏覽量

    57287
  • 中值濾波
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    8496

原文標題:基于MATLAB的中值濾波算法實現(xiàn)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于Matlab與FPGA的雙邊濾波算法實現(xiàn)

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

    FPGA verilog HDL實現(xiàn)中值濾波

    ; 3、對各個模塊進行語法檢查、波形仿真、時序設(shè)計、調(diào)試驗證; 4、與matlab中值濾波結(jié)果進行比較。 二、實現(xiàn)過程: 1、查看了中值
    發(fā)表于 06-18 18:50

    何用數(shù)組模版做圖像的中值濾波?

    有沒有人用labview做過圖像的中值濾波?求指教
    發(fā)表于 03-21 11:42

    matlab中值濾波問題

    做脈象信號 基線糾漂,用中值濾波,現(xiàn)在出現(xiàn)的問題是濾波后出現(xiàn)負數(shù),波形整體與-1為基線,理論上應(yīng)該是以0為基線,求大神指點,這是什么問題?function Data_m=medianfilter
    發(fā)表于 12-19 16:52

    均值濾波中值濾波MATLAB中的實現(xiàn)代碼

    求均值濾波中值濾波實現(xiàn)代碼,不要直接調(diào)用函數(shù)實現(xiàn)的,要用平移循環(huán)的代碼,,均值濾波包括四領(lǐng)域
    發(fā)表于 04-19 17:00

    基于FPGA的中值濾波算法實現(xiàn)

    的一點的值用該點鄰域內(nèi)所有點的中值代替。中值濾波對脈沖噪聲有良好的濾除作用,特別是在濾除噪聲的同時,能夠保護信號的邊緣,使之不被模糊。這些優(yōu)良特性是線性
    發(fā)表于 09-01 07:04

    一文教你用MATLAB實現(xiàn)中值濾波

    不被模糊。這些優(yōu)良特性是線性濾波方法所不具有的。而且,中值濾波的算法比較簡單,也易于用硬件實現(xiàn)。這篇我們先用MATLAB
    發(fā)表于 03-26 06:30

    請問如何實現(xiàn)改進的中值濾波器的設(shè)計?

    如何實現(xiàn)改進的中值濾波器的設(shè)計?中值濾波的基本原理是什么?中值
    發(fā)表于 04-14 06:54

    ×字形濾波窗口在Matlab自適應(yīng)中值濾波算法中的應(yīng)用

    本文對Matlab工具箱中的中值濾波算法進行改進,提出一種基于×字形濾波窗口的自適應(yīng)中值濾波算法
    發(fā)表于 07-08 08:55 ?2841次閱讀
    ×字形<b class='flag-5'>濾波</b>窗口在<b class='flag-5'>Matlab</b>自適應(yīng)<b class='flag-5'>中值</b><b class='flag-5'>濾波</b>算法中的應(yīng)用

    MATLAB實現(xiàn)圖像中值 均值 維納濾波 源程序代碼

    MATLAB中關(guān)于圖像處理的算法,其中有關(guān)于中值、均值、維納各種濾波代碼的源程序;真的不錯,可以下載。
    發(fā)表于 04-15 11:17 ?9次下載

    基于FPGA的實時圖像中值濾波算法及實現(xiàn)_蔣濤

    基于FPGA的實時圖像中值濾波算法及實現(xiàn)_蔣濤
    發(fā)表于 03-19 11:38 ?15次下載

    圖像處理基礎(chǔ)自適應(yīng)中值濾波器(基于OpenCV實現(xiàn))

    本文主要介紹了自適應(yīng)的中值濾波器,并基于OpenCV實現(xiàn)了該濾波器,并且將自適應(yīng)的中值濾波器和常
    的頭像 發(fā)表于 03-05 17:02 ?1.2w次閱讀
    圖像處理基礎(chǔ)自適應(yīng)<b class='flag-5'>中值</b><b class='flag-5'>濾波</b>器(基于OpenCV<b class='flag-5'>實現(xiàn)</b>)

    如何使用FPGA實現(xiàn)圖像的中值濾波算法

    中值濾波和多級中值濾波的特點和適用范圍,針對濾波算法的鄰域性特點,設(shè)計了基于FPGA的濾波器整體
    發(fā)表于 04-01 11:21 ?42次下載
    如何使用FPGA<b class='flag-5'>實現(xiàn)</b>圖像的<b class='flag-5'>中值</b><b class='flag-5'>濾波</b>算法

    中值濾波的原理和C代碼

    中值濾波是一種非線性數(shù)字濾波技術(shù),主要應(yīng)用于信號處理和圖像處理領(lǐng)域,用于減小信號中的噪聲和離群值。中值濾波的核心思想是通過計算一組數(shù)據(jù)點的中
    的頭像 發(fā)表于 12-05 08:00 ?2301次閱讀
    <b class='flag-5'>中值</b><b class='flag-5'>濾波</b>的原理和C代碼

    中值濾波窗口大小對結(jié)果影響有哪些

    中值濾波是一種常用的數(shù)字濾波技術(shù),它通過將信號中的每個點用其鄰域內(nèi)的中值替換來實現(xiàn)信號的平滑和去噪。中值
    的頭像 發(fā)表于 07-29 09:10 ?2103次閱讀