我有一个二进制图像,我想用行作为结构元素对该图像执行关闭。openCv api有一个函数getStructuringElement,它接受以下参数
- 大小
- 锚点
我可以传递CV_SHAPE_CUSTOM在第一个参数创建一个新的形状,但我在哪里传递结构元素的size和值。
我的线条宽度为10像素,长度为1像素,基本上是{1,1,1,1,1,1,1,1,1}。
有一个旧的函数createStructringElementEx,但我不想使用它,因为它涉及大量的数据类型转换。
这是你想要的吗?
Size = Size(10,1)
锚点=点(-1,-1)
明白了。感谢Niko的评论。
创建一个矩阵
Mat line = Mat::ones(1,10,CV_8UC1);
//now apply the morphology close operation
morphologyEx(img, img, MORPH_CLOSE, line,Point(-1,-1));
我的问题解决了