2

特定の構造要素で画像を侵食したいと考えています。opencv が提供するデフォルトの要素形状は、楕円形、四角形、および十字形です。

int erosion_type = MORPH_RECT;
Mat element = getStructuringElement(erosion_type,Size(seSize,seSize),
         Point(seSize/2,seSize/2)); 
erode(mat,result,element);

私が欲しいのは何か違うものです。次のような特定の長方形で画像を侵食したいと思います。

00000
00000
11111
00000
00000

作成後に構造要素データを変更する次のコードを試しましたが、うまくいかないようです。構造要素が CV_8UC1 で、5 * 5 形状であると仮定します

for(int i = 0 ; i < 25 ; i++)
{
    if(i>10 & i < 15)
    data[i] = 0;
    else
    data[i] = 255;
}
4

2 に答える 2