在OpenCV中增加approxPolyDP()中的近似概率

时间:2016-01-15 14:15:43

标签: python opencv computer-vision polygons

我正在 OpenCV-Python 中建立一个形状识别系统。 approxPolyDP()是找到形状的最佳方式。我用它来寻找广场,五角大楼等。

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

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

Image before processing

Threshold()Blur()之后:

Image after processing

如何提高逼近概率?

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

1 个答案:

答案 0 :(得分:0)

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

cv2.approxPolyDP(曲线, epsilon ,关闭[,aboutCurve])

想想,你喜欢这个(仅黑色),

Approximated polygon

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

所以,你也完成了阈值,模糊和更多的预设,你可能在检测到的多边形中有一些晃动点,你可能无法获得精确的形状。 epsilon 非常有用。