我想在OpenCv上创建一个磁盘形结构元素。我需要我的SE与
sel = strel('disk',5);
我想使用
cvstructuringElementEx(cols,rows,anchor_x,anchor_y,shape,*values);
为此,我需要做些什么?
anchor_x
和anchor_y
的哪些值在MATLAB中给SE相同的中心点? 最佳答案
根据the docs,您可以尝试:
cv::Mat sel = cv::getStructuringElement(MORPH_ELLIPSE, cv::Size(9,9));
这给了我以下结构元素:
0 0 0 0 1 0 0 0 0
0 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 0
0 0 0 0 1 0 0 0 0
在MATLAB中,我得到了:
>> getnhood(strel('disk',5))
ans =
0 0 1 1 1 1 1 0 0
0 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 0 0
所以不完全相同,但足够接近:)