雙邊過濾演算法

2021-09-07 04:54:11 字數 2249 閱讀 4414

雙邊過濾演算法作為一種改進的高斯過濾演算法,在影象去噪,和均勻模糊(又稱為磨皮),去鋸齒效應上有不錯的效果.雙邊過濾是採用raised cosines函式來模擬高斯分布函式,

並實現逼近高斯值域.

內容: 將兩個相差較大的畫素,通過過濾器變得接近.

它的推到公式為:

其中f(x)是輸入資料,h(x)是生成的資料,kd則滿足

其中raised 函式定義為:

其中利用高斯定理c(b)

/*對整張進行雙邊平滑處理就是去掉噪音,模糊影象*/2

3/*4* buff ->資料資源

5* desbuff ->處理之後的資料資源

6* width -> 寬度

7* height -> 高度

8* window_size -> 滑動視窗大小9*/

1011

double distance(double x1 ,double x2,double y1, double

y2 )

1516

17void bilateralfilter(wu_char* buff , wu_char*desbuff,

18 unsigned int width ,unsigned int

height ,

19double cgmal , double sgmal ,int

window_size 20)

2138

39double

rvar,gvar,bvar;

40int

nx,ny;

41for( i=1; i<2 ; i++)86}

87}88 rdata/=rtotal;

89 gdata/=gtotal;

90 bdata/=btotal;

91 desbuff[i][j*3]=dealover((int

)(rdata));

92 desbuff[i][j*3+1]=dealover((int

)(gdata));

93 desbuff[i][j*3+2]=dealover((int

)(bdata));94}

95}9697

delete xydis ;

98delete rdis ;

99delete gdis ;

100delete bdis ;

101}

102103

104/*

此處因為不是壓縮,不需要進行dct離散余弦卷積化,

105單純的對16個資料(4*4)資料進行中和之後超過255進行處理

*/106

107 unsigned int dealover(long

color)

效果圖:

參考文獻【注】

網格去噪之 雙邊過濾器

本文麵片為三角麵片 基本概念 平面法向 垂直於平面的直線所表示的向量為該平面的法向量。頂點法向vertex nomals 是過頂點的乙個向量,用於在高洛德著色 gouraud shading 中的計算光照和紋理效果。在生成曲面時,通常令頂點法線和相鄰平面的法線保持等角。通常通過頂點所在所有平面的面法...

OpenCV實現雙邊濾波演算法

雙邊濾波是一種綜合考慮濾波器內影象空域資訊和濾波器內影象畫素灰度值相似性的濾波演算法,可以實現在保留區域資訊的基礎上實現對雜訊的去除 對區域性邊緣的平滑。雙邊濾波對高頻率的波動訊號起到平滑的作用,同時保留大幅值變化的訊號波動,進而實現對保留影象中邊緣資訊的作用。雙邊濾波具有美顏效果。include ...

雙邊濾波原理 及 基於雙邊濾波的銳化去噪演算法思想

雙邊濾波是基於高斯濾波的思想,在高斯濾波的基礎上,加上影象畫素值對中心畫素的影響,兩者共同影響中心畫素的值。高斯濾波 權重大小取決於中心畫素的灰度值和鄰域畫素的灰度值得差,當邊緣有較大的灰度變化時,這個公式會使邊緣和邊緣另一邊的區域生成較小的權值,與中心畫素的灰度值類似的區域會生成較大的權值。下圖能...