从图像中提取时钟指针

2024-06-01 01:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在开发一个从模拟时钟图像中提取时间的应用程序。我在从图像中提取手时遇到问题。在

我目前正在使用Hough圆提取时钟面,然后进行精明的边缘检测和拨号图像。最后进行Hough线变换提取手部。然而,Hough线变换器也能检测到时钟边缘上的一些铁线和数字等。在

为了解决这个问题,我试着找到时钟的中心,检查这个点是否在被检测到的线上,因为时钟的指针总是经过中心。然而,Hough线并不总是100%准确,中心点也不是,所以不是所有的线都通过中心。有没有办法看看一条线是否经过一个点附近?在

下面是一个示例图像:

enter image description here

可以看出,Hough变换最初确实检测到了这些线,但它们并没有完全通过原点。所以他们被丢弃了。在


Tags: 图像应用程序示例时间数字时钟中心边缘
1条回答
网友
1楼 · 发布于 2024-06-01 01:18:05

你可以用这里给出的公式计算一个点与一条线的距离:https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line。在

公式本身有点复杂(这就是为什么我只发布了链接),但是如果你有你的线的坐标,你应该可以使用它。在

如果将A称为中心点,则此距离的确切定义为the distance between A and the point of the line that is the closest to A。我想你可以用一个阈值来过滤掉离中心太远的线。但是要小心,如果直线是一个与中心对齐但没有穿过的线段(例如,如果它是远离中心的数字),阈值方法仍将生成它。在

相关问题 更多 >