磨皮的本質(zhì)實(shí)際上是模糊绒尊。而在圖像處理領(lǐng)域吗坚,模糊就是將像素點(diǎn)的取值與周邊的像素點(diǎn)取值相關(guān)聯(lián)。而我們常見(jiàn)的高斯模糊 蹦疑,它的像素點(diǎn)取值則是由周邊像素點(diǎn)求加權(quán)平均所得,而權(quán)重系數(shù)則是像素間的距離的高斯函數(shù)互墓,大致關(guān)系是距離越小必尼、權(quán)重系數(shù)越大。
如果單單使用高斯模糊來(lái)磨皮篡撵,得到的效果是不盡人意的判莉。原因在于,高斯模糊只考慮了像素間的距離關(guān)系育谬,沒(méi)有考慮到像素值本身之間的差異券盅。舉個(gè)例子來(lái)講,頭發(fā)與人臉?lè)纸缣帲伾町惡艽筇盘矗谏c人皮膚的顏色)锰镀,如果采用高斯模糊則這個(gè)邊緣也會(huì)模糊掉,這顯然不是我們希望看到的咖刃。
而雙邊濾波(Bilateral Filter) 則考慮到了顏色的差異泳炉,它的像素點(diǎn)取值也是周邊像素點(diǎn)的加權(quán)平均,而且權(quán)重也是高斯函數(shù)嚎杨。不同的是花鹅,這個(gè)權(quán)重不僅與像素間距離有關(guān),還與像素值本身的差異有關(guān)枫浙,具體講是刨肃,像素值差異越小,權(quán)重越大箩帚,也是這個(gè)特性讓它具有了保持邊緣的特性真友,因此它是一個(gè)很好的磨皮工具。
雙邊模糊實(shí)際上是考慮的周邊顏色差異的高斯模糊紧帕。
`#import "GPUImageGaussianBlurFilter.h"http://高斯模糊`
`#import "GPUImageBilateralFilter.h" //雙邊模糊`