opencv 邊緣羽化,邊緣過渡

查志強發表於2014-11-26

【原文:http://blog.csdn.net/sogarme/article/details/12942971

當把前景和背景分開時,黑色代表背景,白色代表前景,如下圖1—記作img1


為了平滑過渡,做邊緣羽化,結果如下圖2—記作img2


cvSmooth(img1,img2,CV_BLUR,11,11);

即可從圖1得到圖2;

有了圖2,就可以把黑色部分替換成你所需的背景,白色部分替換成前景,過度部分按畫素比例分給前景和背景 


原理:CV_BLUR是均值平滑

cvSmooth(img1,img2,CV_BLUR,11,11);

指的是

以某一畫素點為中心的11*11矩陣內的畫素點作參照 ,重新計算該點的畫素值;

使用這個CV_BLUR引數為求平均值。

以3*3矩陣為例


中間那一點的畫素值為85   (255+0+255+0+255+0+0+0+0)/9= 255*3/9= 85)

如此就從圖1得到圖2


相關文章