自適應中值濾波

2021-06-26 19:32:57 字數 697 閱讀 3491

演算法:

(自適應中值濾波)

layer a:

a1=zmed-zmin

a2=zmax-zmed

if a1>0 and a2>0, goto layer b

else enlarge sxy, goto layer a (if sxy exceeds the boundary, out zxy)

layer b:

b1=zxy-zmin

b2=zxy-zmax

if b1>0 and b2<0 輸出

zxy,

否則,輸出

zmed

**mfc+opencv實現:

int max=8;   //設定最大的濾波半徑為8

int w[400]; //定義乙個陣列,用於存放臨時灰度值

int r;

int k;

int temp;

for(int i=0;i<400;++i)

w[i]=0;

for(int i=0;i<(image->width);++i)}}

//對獲得的點的灰度值進行由小到大的排序

for(int u=0;u=cvget2d(image, j, i).val[0]||cvget2d(image, j, i).val[0]>=w[k-1])

}}

RAMF自適應中值濾波

clear all 清除所有變數 close all 關閉所有開啟的檔案 clc 清除命令列內容 img mat2gray rgb2gray imread lena.jpg 讀取檔案 m n size img img imnoise img,salt pepper 0.25 加入椒鹽雜訊 subpl...

自適應中值濾波及matlab實現

常規的中值濾波器,在雜訊的密度不是很大的情況下 根據經驗,雜訊的出現的概率小於0.2 效果不錯。但是當概率出現的概率較高時,常規的中值濾波處理後,仍然具有雜訊點,並丟失了細節和邊緣,效果不是很好。在模板視窗sxy定義的濾波器區域內定義如下變數 zmin min sxy 模板視窗sxy中的最小灰度值 ...

matlab練習程式(自適應中值濾波RAMF)

中值濾波是很經典的演算法了。今天看 又知道還有一種叫自適應中值濾波的演算法ramf。原 在這裡。ramf主要通過以下兩步來處理影象。1.首先確定最大的濾波半徑,然後用乙個合適的半徑r對影象進行濾波。計算當前濾波半徑畫素灰度的imin,imax,imed,然後判斷imed是否在 imin,imax 中...