【问题标题】:How to get a line as a structuring element in openCv?如何在openCv中获取一条线作为结构元素?
【发布时间】:2013-02-28 06:37:05
【问题描述】:

我有一个二值图像,我想以 line 作为结构元素对该图像执行 关闭。 openCv api 有一个函数 getStructuringElement 接受以下参数

  • 形状
  • 尺寸
  • 锚点

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

我的线条将是 10 像素宽和 1 像素长,基本上是 {1,1,1,1,1,1,1,1,1,1}。

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

【问题讨论】:

  • 你为什么不用cv::line()画一条线呢?或者,如果它是一条直线,只需使用 for 循环绘制即可。

标签: opencv image-processing


【解决方案1】:

这是你想要的吗?

尺寸 = 尺寸(10,1)

锚点 = Point(-1,-1)

【讨论】:

    【解决方案2】:

    知道了。感谢 Niko 的评论。

    创建一个矩阵为

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

    这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      相关资源
      最近更新 更多