使用 Python (OpenCV) 中的霍夫线变换从模拟时钟读取时间

2024-04-19

我一直在尝试编写一个程序,在图片上找到钟面,然后继续从中读取时间。定位效果相当好,但阅读时间 - 不是那么多。

cv2.HoughLines 函数返回线条所在的角度(从图像顶部开始测量)以及它们与图像左上角的距离。经过一些调整后,我成功地说服我的代码为每个时钟的指针找到一行,但目前我仍然无法真正从中读取时间。

使用适当的公式,我可以找到这些线的交点(时钟的中间),然后沿着指针在两个方向上进行迭代。这可以告诉我每只手的长度(让我能够区分它们)以及它们指向哪个方向。不过,我对实施这个解决方案相当犹豫——它不仅看起来有些丑陋,而且还带来了一定的风险。例如:舍入问题可能会导致程序检查错误的像素并过早找到行尾。

那么,您能建议一个替代解决方案吗?


我已经成功解决了我的问题。

我一直在尝试使用霍夫线变换,而我应该使用霍夫概率变换。当我得到它的那一刻,我将沿着类似函数绘制的线分组,按长度对它们进行排序,并使用反正弦以及它们末端的位置来找到手所站立的精确度数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python (OpenCV) 中的霍夫线变换从模拟时钟读取时间 的相关文章

随机推荐