使用Python中的Hough Line Transform从模拟时钟读取时间(OpenCV)

时间:2014-11-23 17:15:46

标签: python opencv hough-transform

我一直在尝试编写一个程序,将时钟的面部定位在图片上,然后继续从中读取时间。定位工作相当好,阅读时间 - 而不是那么多。

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

使用适当的公式,我可以找到这些线的交点(时钟的中间),然后一次在两个方向上沿着手迭代。这可以告诉我每只手的长度(允许我分开它们)以及它们指向的方向。我对实施这个解决方案非常犹豫 - 它不仅看起来有些丑陋而且还会产生某些风险。例如:舍入问题可能导致程序检查错误的像素并过早地找到行结束。

那么,你会建议另一种解决方案吗?

1 个答案:

答案 0 :(得分:1)

我设法解决了我的问题。

我一直在尝试使用Hough Line Transform,我应该使用Hough Probabilistic Transform。在我得到它的那一刻,我将沿着类似函数绘制的线分组,按长度排序,并使用反正弦以及它们两端的位置来找到精确的度数。