【问题标题】:OpenCV Best method to automatically draw a straight line through pointsOpenCV 自动通过点绘制直线的最佳方法
【发布时间】:2019-12-10 03:03:44
【问题描述】:

什么 OpenCV Python 工具最适合在图像上的多个 '点' 之间绘制直线? 类似于 BestFitLine 的东西,但用于 thresoldedimage,而不是情节

谢谢

源图像

处理后的图像(二进制阈值) 黑点应该是每个单独的作物

我想要什么

【问题讨论】:

  • 能否请您在阈值处理之前发布输入图像?
  • 我添加了源RGB图像
  • 您可以尝试创建一个对角线形状的内核,然后执行变形关闭。 kernel = np.eye(25, k=0, dtype=np.uint8)[::-1] 然后close = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel, iterations=5)。这将连接线路,然后您可以使用您最喜欢的线路检测器

标签: python opencv draw


【解决方案1】:

恐怕霍夫线在这里会失败。您可以尝试ransac 以获得最佳估计线,擦除这些点并运行下一个ransac。艰难的你还是会遇到一些麻烦:你到底要识别多少个簇?您可以为线模型设置最低分数样本分数。您还需要过滤掉水平线。

scikit-learnscikit-image 中都有 ransac 实现。

【讨论】:

    【解决方案2】:

    如果您还没有尝试过,请使用 OpenCV 函数 HoughLines()HoughLinesP() 来检测图像中的线条。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 2017-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 1970-01-01
      相关资源
      最近更新 更多