【问题标题】:Increase approximation probability in approxPolyDP() in OpenCV增加 OpenCV 中 approxPolyDP() 的逼近概率
【发布时间】:2016-01-15 14:15:42
【问题描述】:

我正在 OpenCV-Python 中制作一个形状识别系统。 approxPolyDP() 是查找形状的最佳方式。我用它来寻找正方形、五边形等。

但是,有时approxPolyDP() 无法准确获取多边形。因此使用Blur()Thresholding()。然而这还不够。

如果我得到这样的过滤图像:

Threshold()Blur() 之后:

如何提高近似概率?

请给我一些想法/系统/算法以增加近似概率。

【问题讨论】:

  • @Bogdan Bogdanov 为什么要编辑我的帖子?您能给我解决方案吗?
  • 对不起@NSiri,我有两个错别字。我编辑问题,使其更具可读性。您可以阅读 thisthis 如何在 Stack Overflow 中提出好的问题。抱歉有错别字。
  • 好的..谢谢。我是新人..我已批准您的修改
  • 没问题,当您获得足够的声誉时,您还可以编辑问题。
  • 你能解释一下“不够”是什么意思吗?您希望改进结果的哪个方面? (另外,在问题中添加“谢谢”是considered fluff on SO)。

标签: python opencv computer-vision polygons


【解决方案1】:

使用 epsilon 参数可以增加 'approxPolyDP()' 的逼近概率。

cv2.approxPolyDP(curve, epsilon, closed[, approxCurve])

想一想,你有这样的(仅限黑色),

如果你增加 epsilon 'approxPolyDP()' 忽略最近的雕刻点并改变检测到的形状。 当你增加 epsilon 'approxPolyDP()' 首先忽略 A 点(因为,A 点离红线最近,而不是 B 点离绿线最近)。然后你增加更多它会忽略 B 点。

所以,你也做了阈值,模糊和做更多的预设,你可能在检测到的多边形中有一些抖动点,你可能无法得到精确的形状。epsilon在这种情况下非常有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-03
    • 2017-03-06
    • 2023-03-13
    • 2012-12-17
    • 2020-09-23
    • 2013-04-21
    • 1970-01-01
    • 2013-05-22
    相关资源
    最近更新 更多