特定の構造要素で画像を侵食したいと考えています。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;
}