最近在做乙個motion detection的課題,在課題中提取的運動物體往往由離散的點組成,如果要用連通分量的計算方法提取每個運動物體的輪廓不太容易,為此要將由離散點組成的影象進行膨脹,腐蝕運算。
膨脹 dilation
考慮兩幅二值影象a,b。它們的前景用黑色,背景用白色。另fa和fb表示各自前景點的集合。定義膨脹運算為:dilation(a,b) = 。比如:
a =腐蝕 erosionb =
dilation(a,b) =
同樣考慮兩幅影象a,b。定義腐蝕運算為: erosion(a,b) =
膨脹腐蝕運算的性質
c++ 實現
這裡 buf 相當於 a,model相當於b 計算dilation(buf,model)void shapeoper::dilation(unsigned char* buf, int width, int height, vectormodel)
{int i,j,k;
point p;
unsigned char* temp = new unsigned char[width*height];
memcpy(temp,buf,width*height);
for(i=0;i=0 && p.x=0 && p.y
計算erosion(buf,model)
void shapeoper::erosion(unsigned char* buf, int width, int height, vectormodel)
{int i,j,k;
point p;
unsigned char* temp = new unsigned char[width*height];
memcpy(temp,buf,width*height);
bool is_point = true;
for(i=0;i=0 && p.x=0 && p.y 10){
is_point = false;
//cout<<"other"<
二值形態學 膨脹,腐蝕
最近在做乙個motion detection的課題,在課題中提取的運動物體往往由離散的點組成,如果要用連通分量的計算方法提取每個運動物體的輪廓不太容易,為此要將由離散點組成的影象進行膨脹,腐蝕運算。膨脹 dilation 考慮兩幅二值影象a,b。它們的前景用黑色,背景用白色。另fa和fb表示各自前景...
二值形態學 腐蝕
把結構元素b平移 a後得到 ba,若 ba包含於 x,我們記下這個 a點,所有滿足上述條件的 a點組成的集合稱做x被 b腐蝕 erosion 的結果。用公式表示為 e x x b,如圖 1所示。圖1腐蝕的示意圖 圖1中x 是被處理的物件,b是結構元素。不難知道,對於任意乙個在陰影部分的點a,ba包含...
形態學運算元 腐蝕,膨脹,開閉
本文總結了腐蝕,膨脹和開閉操作在二值影象上的應用,基於opencv給出了例項。參考 數字影象處理 第三版 岡薩雷斯 腐蝕的定義為 在二維整數空間 其中上面的定義含義是,b對a的腐蝕是乙個用z平移的b包含在a中的所有的點z的集合。腐蝕縮小或細化了二值影象中的物體。可以將腐蝕視為形態學濾波,這種操作將小...