【问题标题】:Opencv contours detected discontinue检测到 Opencv 轮廓停止
【发布时间】:2016-10-24 03:49:57
【问题描述】:

我正在使用 openCV 检测图像中的矩形。与许多示例一样,我使用 threshold+findContours+approxPolyDP。

如下图,我的问题是findContours找到的contours不继续,所以在approxPolyDP之后,我无法得到一个矩形...

那么,您知道如何解决这个问题吗?谢谢你。 :)

另一个问题:为什么等高线是灰色的?阈值化后,应该只有白色和黑色了吧?

Contours

After approxPolyDP

【问题讨论】:

标签: opencv computer-vision detection


【解决方案1】:

C++: void approxPolyDP(InputArray 曲线, OutputArray approxCurve, 双epsilon,bool关闭)

epsilon – 指定近似精度的参数。这是 原始曲线与其近似值之间的最大距离。

尝试增加ε

【讨论】:

  • 谢谢。 “approxPolyDP 用另一条曲线/多边形逼近一条曲线或多边形,其顶点较少,使它们之间的距离小于或等于指定的精度。” 那么对于多边形,在 approxPolyDP 之后,我们应该得到什么?顶点?
  • 看看thisthis
  • approxPolyDP 近似于轮廓周围的多边形。如果 epsilon 接近 0,则 approxPolyDP 多边形从轮廓变成像多边形一样。通过增加 epsilon,approxPolyDP 结果的准确性会降低(较大的 epsilon approxPolyDP 将忽略图像中的凹痕并为您提供一个矩形)this 是完美的解释
猜你喜欢
  • 1970-01-01
  • 2014-07-27
  • 1970-01-01
  • 2021-09-27
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
相关资源
最近更新 更多