gpt4 book ai didi

python - 如何在python openCV中计算六边形的内角

转载 作者:太空宇宙 更新时间:2023-11-03 22:41:57 25 4
gpt4 key购买 nike

我已经使用 OpenCV 在 Python 中检测到六边形的形状。我只想计算它的内角——形状是通过使用轮廓技术和近似来检测的。

hexagon

最佳答案

parthagar 建议的

cv2.CHAIN_APPROX_SIMPLE 确实非常有用,但它通过删除直线中的所有“不必要”点来工作。如果线条不是完全笔直的,因为它们似乎不在这张照片中,那么它就不会起作用。因此,虽然您最终会得到更少的分数,这很好,但几乎可以肯定不会是您想要的 6 分。

要获得恰好 6 分的近似值,您需要做一些更多的自定义工作。 OpenCV 提供了可用于此目的的 cv2.approxPolyDP ( Tutorial py contour features - 4. Contour Approximation )。它确实需要找到正确的 epsilon 值才能获得正确的点数,但这可以通过暴力破解找到:

#cnt = Your contour to be approximated
points_wanted = 6
precision = 10000
for x in range(precision):
epsilon = (x/precision)*cv2.arcLength(cnt, True)
approx = cv2.approxPolyDP(cnt, epsilon, True)
if approx.shape[0] == points_wanted:
break

结果如下图所示。请注意,它不会完全完美,它只是一个近似值,但希望它足够接近。可以在 parthagars 链接中找到查找两点之间角度的方法。祝你好运!

enter image description here

关于python - 如何在python openCV中计算六边形的内角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52467929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com