1、中值濾波概述
中值濾波是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線性信號(hào)平滑處理技術(shù),它將每一像素點(diǎn)的灰度值設(shè)置為該點(diǎn)某鄰域窗口內(nèi)的所有像素點(diǎn)灰度值的中值。
中值濾波的基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近的真實(shí)值,從而消除孤立的噪聲點(diǎn)。方法是用某種結(jié)構(gòu)的二維滑動(dòng)模板,將板內(nèi)像素按照像素值的大小進(jìn)行排序,生成單調(diào)上升(或下降)的為二維數(shù)據(jù)序列。二維中值濾波輸出為g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分別為原始圖像和處理后圖像。W為二維模板,通常為3*3,5*5區(qū)域,也可以是不同的的形狀,如線狀,圓形,十字形,圓環(huán)形等。
2、中值濾波算法原理
中值濾波數(shù)學(xué)實(shí)現(xiàn):對(duì)一個(gè)數(shù)字信號(hào)序列xj(-∞
在實(shí)際應(yīng)用中,隨著所選用窗口長度的增加,濾波的計(jì)算量將會(huì)迅速增加。因此,尋求中值濾波的快速算法,是中值濾波理論的一個(gè)重要研究內(nèi)容。
中值濾波的快速算法,一般采用下述三種方式:
①直方圖數(shù)據(jù)修正法;
②樣本值二進(jìn)制表示邏輯判斷法;
③數(shù)字和模擬的選擇網(wǎng)絡(luò)法。
對(duì)中值濾波的理論研究,還集中于統(tǒng)計(jì)特性分析和根序列的描述方面。當(dāng)一個(gè)信號(hào)序列經(jīng)一特定窗口長度的中值濾波反復(fù)處理后,它會(huì)收斂于某一個(gè)不再變化的序列,這個(gè)序列稱為中值濾波的根序列。根序列是描述中值濾波特性的一個(gè)重要概念。通過對(duì)根序列結(jié)構(gòu)的研究,可以確定原信號(hào)序列中,哪些成分可以經(jīng)中值濾波后保留下來,哪些成分將被抑制。這對(duì)確定中值濾波器的窗口長度,提供了重要依據(jù)。用VLSI實(shí)現(xiàn)的中值濾波器芯片,可供實(shí)時(shí)處理中應(yīng)用。
3、中值濾波算法流程
4、中值濾波應(yīng)用及優(yōu)勢
中值濾波法對(duì)消除椒鹽噪聲非常有效,在光學(xué)測量條紋圖象的相位分析處理方法中有特殊作用,但在條紋中心分析方法中作用不大.
中值濾波在圖像處理中,常用于保護(hù)邊緣信息,是經(jīng)典的平滑噪聲的方法。
5、中值濾波代碼實(shí)現(xiàn)
// zhongzhilvbo.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
//
#include
#include
#include
#include
#include
#include
#include "stdafx.h"
//原圖象的寬度和高度
#define width 352
#define higth 288
int lvbo(unsigned char D[9])
{
unsigned int temp;
int i,j;
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(D[i]>D[j+1])
{
temp=D[i];
D[i]=D[j+1];
D[j+1]=temp;
}
}
}
return D[4];
}
void main()
{
FILE *fp,*newfp;
int i,j;
if(!(fp=fopen("fmh1.bmp","rb")))
{
printf("Open file %s error! ","k.bmp");
return ;
}
if(!(newfp=fopen("fmout.bmp","wb")))
{
printf("Open file %s error! ","result.bmp");
return ;
}
unsigned char buffer[54+1024];//定義原圖像頭緩沖區(qū)
fread(buffer,1,54+1024,fp);//讀取文件頭54個(gè)字節(jié)
unsigned long length=width*higth;//圖像的總象素個(gè)數(shù)
unsigned char readData[higth][width]; //用于存儲(chǔ)原圖數(shù)據(jù)的數(shù)組
unsigned char writeData[higth][width]; //用于存儲(chǔ)原圖數(shù)據(jù)的數(shù)組
fread(&readData[0][0], sizeof(unsigned char),length, fp);//從原圖讀入數(shù)據(jù)
for(i=0;i
{
for(j=0;j
{
writeData[i][j]=readData[i][j];
}
}
unsigned char D[9]; //定義選取框
for(i=1;i
{
for(j=1;j
{
D[0]=readData[i-1][j+1];
D[1]=readData[i][j+1];
D[2]=readData[i+1][j+1];
D[3]=readData[i-1][j];
D[4]=readData[i][j];
D[5]=readData[i+1][j];
D[6]=readData[i-1][j-1];
D[7]=readData[i][j-1];
D[8]=readData[i+1][j-1];
writeData[i][j]=lvbo(D);
}
}
fwrite(buffer,sizeof(unsigned char),54+1024,newfp);
fwrite(writeData,sizeof(unsigned char),length,newfp);
fclose(newfp);
fclose(fp);
return ;
}
經(jīng)過中值濾波處理后的對(duì)比圖片:
來源:(淇淇寶貝)http://www.cnblogs.com/qiqibaby/p/5281743.html
-
圖像處理
+關(guān)注
關(guān)注
27文章
1326瀏覽量
57816 -
中值濾波
+關(guān)注
關(guān)注
0文章
14瀏覽量
8472
原文標(biāo)題:圖像處理之中值濾波介紹及C實(shí)現(xiàn)
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
光纖傳輸性能分析:非線性噪聲來源簡述

一種改進(jìn)的Volterra自適應(yīng)噪聲對(duì)消器
基于FPGA的非線性校正設(shè)計(jì)方案
一種通用的集成電路RF噪聲抑制能力測量技術(shù)介紹
基于醫(yī)學(xué)圖像的有效中值濾波算法研究
基于噪聲方差確定非線性擴(kuò)散除噪聲的最優(yōu)停止時(shí)間
基于AD9854的非線性調(diào)頻脈壓雷達(dá)信號(hào)的產(chǎn)生技術(shù)
一種有效的諧波抑制方案

一種改進(jìn)的相位噪聲抑制方法
一種變步長KLMS遙測振動(dòng)信號(hào)降噪方法

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

語音信號(hào)的數(shù)字化噪聲抑制技術(shù)
從“模擬圖像”到“數(shù)字圖像”要經(jīng)過的步驟

評(píng)論