如何在openCv中将一行作为结构元素?

时间:2013-02-28 06:37:06

标签: opencv image-processing

我有二进制图像,我想在作为结构元素的情况下对该图像执行关闭。 openCv api有一个函数 getStructuringElement ,它接受以下参数

  • 形状
  • 尺寸
  • Anchor Point

我可以在第一个参数中传递 CV_SHAPE_CUSTOM 来创建新形状,但我在哪里 传递我的结构元素的大小

我的线宽10像素,长1像素{1,1,1,1,1,1,1,1,1,1}。

有一个旧函数 createStructringElementEx 但我不想使用它,因为它涉及很多数据类型的转换。

2 个答案:

答案 0 :(得分:0)

这是你想要的吗?

尺寸=尺寸(10,1)

锚点=点(-1,-1)

答案 1 :(得分:0)

知道了。感谢Niko的评论。

创建矩阵

Mat line = Mat::ones(1,10,CV_8UC1);
//now apply the morphology close operation
morphologyEx(img, img, MORPH_CLOSE, line,Point(-1,-1));

这解决了我的问题。