有没有办法从模拟速度表中找到速度?

Is there a way to find the speed from analog speedometer?

我有一个模拟速度计图像,指针指向当前速度。我正在尝试找到一种方法来获得指针指向的速度。我尝试使用 OpenCV 中的 HoughCircles(),但它抛出错误,因为图像仅包含速度计并且是一个半圆。任何帮助我前进的资源都将不胜感激。

假设指针的颜色与速度计的其余部分不同,或者它的尺寸明显大于速度计上的其他元素(通常是这种情况),我将执行如下操作。

  1. 将图像转换为灰度。
  2. 应用颜色阈值(或基于大小的阈值)来检测代表针的像素区域。
  3. 使用 OpenCV 中的 HoughLines() 或 HoughLinesP() 函数将直线拟合到您在步骤 2 中检测到的形状。
  4. 现在需要测量您在第 3 步中生成的直线的角度(此处提供的示例:How can I determine the angle a line found by HoughLines function using OpenCV?
  5. 然后您可以通过一个简单的方程将直线的角度映射到速度(需要查看速度计的图像才能生成此方程)。

让我知道进展如何。