标签: python opencv computer-vision polygons
我正在 OpenCV-Python 中建立一个形状识别系统。 approxPolyDP()是找到形状的最佳方式。我用它来寻找广场,五角大楼等。
approxPolyDP()
但是,有时approxPolyDP()无法准确获取多边形。因此,使用了Blur()和Thresholding()。然而,这还不够。
Blur()
Thresholding()
如果我得到这样的过滤图像:
Threshold()和Blur()之后:
Threshold()
如何提高逼近概率?
请给我一些想法/系统/算法以增加近似概率。
答案 0 :(得分:0)
使用 epsilon 参数可以增加'approxPolyDP()'的逼近概率。
cv2.approxPolyDP(曲线, epsilon ,关闭[,aboutCurve])
想想,你喜欢这个(仅黑色),
如果你增加 epsilon 'aboutPolyDP()'忽略最近的雕刻点并改变检测到的形状。 当你增加 epsilon '时,aboutPolyDP()'首先忽略一个点(因为,A点最接近红线而不是B指向绿线)。然后你增加更多它将忽略B点。
所以,你也完成了阈值,模糊和更多的预设,你可能在检测到的多边形中有一些晃动点,你可能无法获得精确的形状。 epsilon 非常有用。