我知道可以在MATLAB中创建磁盘结构元素,如下所示:
se=strel('disk',4);
0 0 1 1 1 0 0
0 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
0 1 1 1 1 1 0
0 0 1 1 1 0 0
Run Code Online (Sandbox Code Playgroud)
是否有任何函数或方法或任何其他方式在opencv中创建与上面相同的结构元素.我知道我们可以使用循环手动创建它,但我只想知道是否存在某些功能.
您可以在OpenCV中获得的最接近的(不完全相同)是通过调用getStructuringElement():
int sz = 4;
cv::Mat se = cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(2*sz-1, 2*sz-1));
Run Code Online (Sandbox Code Playgroud)
,给矩阵赋值
[0, 0, 0, 1, 0, 0, 0;
0, 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;
0, 1, 1, 1, 1, 1, 0;
0, 0, 0, 1, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)