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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

灰度图像--图像增强 双边滤波 Bilateral Filtering

發(fā)布時(shí)間:2025/7/25 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 灰度图像--图像增强 双边滤波 Bilateral Filtering 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

from:http://www.mamicode.com/info-detail-449413.html

開(kāi)篇廢話


? ? ?廢話開(kāi)始,話說(shuō)昨天寫博客寫完了,發(fā)表以后居然刷出來(lái)的是空白,頓時(shí)很生氣,因?yàn)閷懥艘簧衔绲臇|西瞬間就沒(méi)了,于是在微博上吐槽了csdn,于是csdn的官方微博和客服微博都跟我進(jìn)行了溝通和道歉,感覺(jué)態(tài)度還是不錯(cuò)的,作為用戶沒(méi)有付給他們錢,但還是受到了不小的重視,感覺(jué)還是不錯(cuò)。學(xué)習(xí)是一個(gè)被分享之后經(jīng)過(guò)自己加工后再分享的過(guò)程,一個(gè)分享的平臺(tái)是很重要的選擇,好的平臺(tái)能夠?qū)W到知識(shí),并能分享知識(shí),和別人討論知識(shí),收集資源分享資源。希望大家共同進(jìn)步。

? ? ? ?圖像增強(qiáng),平滑第二天,雖然說(shuō)是第二天,但要學(xué)習(xí)和研究包括寫程序,都不是一天完成的。上一篇寫的是線性濾波模板,此類模板我們可以叫他們靜態(tài)模板,因?yàn)槠渲灰蕾囉谖覀兊倪x擇,我們一旦選擇完成,模板就唯一確定,不會(huì)在卷積的過(guò)程中產(chǎn)生變換,所以這類模板具有線性性質(zhì),但缺點(diǎn)是不靈活,不能根據(jù)不同灰度變化情況來(lái)實(shí)時(shí)的調(diào)整權(quán)重,雙邊濾波就是一種非線性模板,能夠根據(jù)像素位置和灰度差值的不同產(chǎn)生不同的模板,得到不同的濾波結(jié)果。


基本思路


? ? ??雙邊濾波器是針對(duì)高斯平滑的提升版本,高斯平滑根據(jù)像素鄰域的距離決定權(quán)重,生成權(quán)重的函數(shù)為高斯函數(shù),所以叫高斯平滑或者高斯濾波,效果是使圖像模糊,并一定程度上的保存邊緣,雙邊濾波的改進(jìn)是增加了灰度值的影響,也就是鄰域的像素灰度值如果和中心像素的灰度值越接近,那么權(quán)值在高斯權(quán)值的基礎(chǔ)上在加上一個(gè)相對(duì)較大的權(quán)值,相反,如果灰度差很大,將會(huì)給已生成的高斯模板對(duì)應(yīng)的位置加上一個(gè)小的權(quán)值,以此類推,并將模板系數(shù)歸一化(和為1,其目的是完全平滑的圖像結(jié)果不變),因此模板的系數(shù)不再單純的依賴位置關(guān)系,更依賴于灰度關(guān)系,因此邊緣將能夠被有效的保存。

數(shù)學(xué)基礎(chǔ)


? ? ??數(shù)學(xué)開(kāi)始,數(shù)學(xué)公式可能看的比較難懂,但是懂了以后就會(huì)徹底理解整個(gè)算法,上面的描述只需要幾個(gè)公式就能準(zhǔn)確的表示出來(lái)。 ? ? ? ?來(lái)看基礎(chǔ)版本的公式,這個(gè)公式通用均值濾波和高斯濾波:
? ? ? ?上式中:將上式中的積分腦補(bǔ)成求和,求和范圍是模板覆蓋的范圍,就代表模板的坐標(biāo)位置(x,y),X就可以表示參數(shù),比如高斯里的標(biāo)準(zhǔn)差參數(shù)。1/kd(x)為歸一化參數(shù),保證絕對(duì)平滑的位置灰度值不變,c的選擇比較靈活,如果選擇高斯函數(shù),那么就產(chǎn)生了高斯濾波模板。
上面是只利用位置(距離)產(chǎn)生模板系數(shù)的公式。下面我看一下只利用灰度信息產(chǎn)生一個(gè)模板(非線性):
f表示灰度分布,也就是模板內(nèi)被覆蓋的灰度值,x(向量)代表原點(diǎn)位置,向量代表當(dāng)前求和位置,同樣積分改成求和,求和區(qū)間為模板覆蓋的區(qū)間,同樣1/kr(x)是歸一化參數(shù),保證平滑圖片的不變性。
? ? ? ?根據(jù)上面的描述,函數(shù)c只根據(jù)位置來(lái)平滑,平滑效果好,但邊緣保存弱,函數(shù)s只根據(jù)灰度差值產(chǎn)生模板,邊緣保存效果好,平滑效果差。 ? ? ? ?為了得到一個(gè)邊緣保持性好,同時(shí)平滑能力強(qiáng)的方法,我們決定將他們合體:
? ? ? 這個(gè)公式總和了上面兩種處理方法,同時(shí)根據(jù)距離和灰度差值產(chǎn)生模板系數(shù),產(chǎn)生了一種新的非線性模板,歸一化的k計(jì)算如下:
? ? ? ?對(duì)于圖像,腦補(bǔ)成求和而不是積分,這個(gè)就是Bilateral Filter的形式,也就是說(shuō),c和s并沒(méi)有規(guī)定為高斯函數(shù),如果你有更好的,可以自己開(kāi)發(fā),當(dāng)然最一般的情況下,c和s我們選擇高斯函數(shù): ? ? ? ?其中d表示距離,這里用歐氏距離來(lái)計(jì)算(歐氏距離就是初中學(xué)的最簡(jiǎn)單的那個(gè)):? ? ? ? ?deta_d為距離的標(biāo)準(zhǔn)差,由我們手動(dòng)決定,但要注意的是,標(biāo)準(zhǔn)差對(duì)于一個(gè)高斯函數(shù)來(lái)說(shuō),決定的是它的“胖瘦”,也就是圖形是寬還是窄,如果過(guò)窄,其中心權(quán)重接近1,其他權(quán)重會(huì)很小,極限情況下退化成沖擊,則只有中心位置元素,如果標(biāo)準(zhǔn)差選擇過(guò)大,高斯函數(shù)會(huì)過(guò)胖,也就是趨于一條直線,這時(shí)高斯平滑接近于均值,每個(gè)位置權(quán)重過(guò)于接近,并且,距離超過(guò)3倍的deta,那么權(quán)重也會(huì)很小,所以這個(gè)性質(zhì)在我們選擇參數(shù)和后面觀察結(jié)果也是很有用的參考。 ? ? ? ?同理我們選擇高斯函數(shù)作為s函數(shù):
? ? ? ? 式子中灰度差為:
? ? ? ?也就是模板內(nèi)不同位置的灰度與中心灰度的差。 ? ? ? ?觀察下處理結(jié)果,英文不難,不再翻譯:
? ? ? ?來(lái)看原始論文的效果:


?主要觀察點(diǎn)在貓咪的胡須,看到即使右下角特別模糊的情況下,貓咪的胡須還是可以識(shí)別出來(lái)的。

代碼


? ? ?與前面文章同樣,代碼未經(jīng)過(guò)優(yōu)化,知識(shí)原始公式的翻譯,如果應(yīng)用于工程,需要使用快速算法或?qū)⑺惴ㄟM(jìn)行優(yōu)化: //高斯函數(shù) double gaussian(double x,double deta){return exp(-0.5*(x*x)/(deta*deta)); } //計(jì)算當(dāng)前模板系數(shù) double BilateralWindow(double *window,int width,int height,double deta_d,double deta_r){double *mask=(double *)malloc(sizeof(double)*width*height);if(mask==NULL){printf("bilateral window malloc wrong\n");exit(0);}GaussianMask(mask,width,height,deta_d);double detavalue=0.0;double center_value=window[height/2*width+width/2];double k=0.0;double result=0.0;for(int j=0;j<height;j++){for(int i=0;i<width;i++){detavalue=center_value-window[j*width+i];mask[j*width+i]*=gaussian(detavalue,deta_r);k+=mask[j*width+i];}}for(int i=0;i<width*height;i++){result+=mask[i]*window[i];}free(mask);return result/k; } //雙邊濾波 void BilateralFilter(IplImage *src,IplImage *dst,int width,int height,double deta_d,double deta_r){double *window=(double *)malloc(sizeof(double)*width*height);for(int j=height/2;j<src->height-height/2;j++){for(int i=width/2;i<src->width-width/2;i++){for(int m=-height/2;m<height/2+1;m++){for(int n=-width/2;n<width/2+1;n++)window[(m+height/2)*width+n+width/2]=cvGetReal2D(src, j+m, i+n);}double value=BilateralWindow(window,width,height,deta_d,deta_r);cvSetReal2D(dst, j, i, value);}}free(window); }


觀察效果


? ? ?下面來(lái)觀察我們的效果,具體參數(shù)已經(jīng)標(biāo)在了圖像上:
? ? ? ?觀察結(jié)論:deta_d(距離標(biāo)準(zhǔn)差)越大會(huì)導(dǎo)致圖像更加模糊,因?yàn)槭褂酶咚购瘮?shù),deta_r(灰度標(biāo)準(zhǔn)差)越大會(huì)導(dǎo)致細(xì)節(jié)變得更模糊,所以可以根據(jù)3倍deta原則來(lái)選取合適的模板大小和deta大小,灰度差范圍-255到255,距離差范圍根據(jù)模板大小確定。

總結(jié)


? ??雙邊濾波,可以很好的保存邊緣并產(chǎn)生平滑效果,比高斯濾波和均值濾波效果更好,但計(jì)算量也更大 參考論文:

總結(jié)

以上是生活随笔為你收集整理的灰度图像--图像增强 双边滤波 Bilateral Filtering的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一起射导航 | 狠狠干导航 | 有码视频在线观看 | 黄在线观看免费 | 冈本视频在线观看 | 91插插插影库永久免费 | 成人免费视频网 | 欧美日日骚| 波多野结衣一区二区在线 | av日日夜夜 | 羽月希奶水一区二区三区 | 天天操操| 国产偷人妻精品一区二区在线 | 色男天堂| 少妇脚交调教玩男人的视频 | 免费在线黄色网 | 一区二区三区久久久久 | 天堂av一区二区三区 | 免费视频a | 嫩草在线观看 | 国产精品视频免费网站 | 国内久久 | 欧美性猛交乱大交3 | 99re这里只有| 亚洲图片88 | 伊人欧美在线 | 91网站在线免费看 | 久久视频在线观看 | 91av免费在线观看 | 一个色综合导航 | 伊人成人在线视频 | 亚洲激情婷婷 | 亚洲成人免费在线视频 | 亚洲自拍av在线 | 91久久精品一区二区别 | 日韩精品视频播放 | 91久久久久久久 | 九七影院在线观看免费观看电视 | 国产精品88av | a视频免费看 | 亚洲图片欧美另类 | 超碰超碰在线 | 一区二区三区www | 大胸美女网站 | 香蕉视频毛片 | 国产九色在线播放九色 | 爱福利视频一区二区 | 久久伊人一区 | 亚洲激情欧美激情 | 雷电将军和丘丘人繁衍后代视频 | 99精品视频免费观看 | 婷婷伊人综合中文字幕 | 色资源av| 成人性生交大片免费看 | 欧美日韩v | 日韩激情电影在线 | 蜜臀av色欲a片无码精品一区 | 色资源av | 亚洲综合色成人 | 无码人妻丰满熟妇区五十路 | 欧美日韩国产成人精品 | 成人精品福利视频 | 欧美三级午夜理伦三级 | 美女三级黄色 | 日本人妖网站 | 天美乌鸦星空mv | 涩涩视频在线观看 | 人妻少妇精品无码专区久久 | av在线资源网 | 午夜私人影院 | 好吊色一区二区 | 操欧美老逼 | 在线观看精品国产 | 日韩少妇一区二区 | 欧美人与动牲交a欧美精品 欧美三级在线看 | 日韩免费福利视频 | 激情五月婷婷小说 | 丁香六月啪啪 | 反差在线观看免费版全集完整版 | 日本精品一区在线观看 | 亚洲av成人无码一二三在线观看 | 在线观看欧美精品 | 成人免费看片视频 | 97超碰成人 | 亚洲欧美国产精品专区久久 | 久久桃色 | 成人欧美在线观看 | 欧美性大战久久久 | av中文天堂在线 | 日韩一区二区在线观看 | a在线观看免费 | 爽妇网av | 最近中文字幕mv免费高清在线 | 91五月天| 欧美性猛交富婆 | 国产精品系列在线观看 | 性欧美free | 精品国产99久久久久久宅男i | 亚洲一区二区三区四区五区午夜 |