• 指针式仪表自动读数与识别(七):示数计算


    经过前面的几篇文章,已经定位到了表盘和指针,那么最后一步就是计算读数了,读数的计算实际上很简单,就是利用夹角和量程算个比例,so easy。

    起始/终止刻度的确定

    仪表的最终读数,取决于表盘圆心、指针偏移其实刻度的角度以及量程。在确定表盘圆心、指针方向以及量程后,才可以通过指针偏移角度来计算示数。那这里很重要的一点就是计算起始/终止刻度的位置。

    起始/终止刻度的确定可以先使用刻度拟合法来找出刻度,再根据刻度的位置关系来确定起始/终止刻度,但是由于受旋转,噪声等影响,定位结果往往差强人意,而最终读数又与起始坐标密切相关,所以为了保证其精度,我采用手动定位的方式来标记起始和终止刻度。当然是做个放大镜先放大局部图像在标记哈,这样更准确一点。

    计算方法

    在有了起始刻度,量程、圆心以及指针后,就可以计算读数了。

    计算公式如下:

    其中α为刻度起点和终点与圆心所成的夹角,β为指针偏移刻度起点的角度,R为量程,α和β的计算方式如下:
    设检测到的圆心为O(a,b,r),指针L的两个端点分别P_1 (x_1,y_1 )和P_2 (x_2,y_2),起始刻度和终止刻度位置分别为为P_s (x_s,y_s ),P_e (x_e,y_e),则:

    为了减小直线检测时出现的误差导致指针偏移角度计算不准确,将检测出的指针线段的远离圆心端(P_2)与圆心相连的线段作为指针,故β的计算方式变为:

    最终的读数效果在下一篇文章会体现出来。

  • 相关阅读:
    git 好文引流
    无法访问Swagger 或 druid面板无法访问 #报异常
    MachineLearning入门-7(数据理解)
    MachineLearning入门-6(数据导入)
    MachineLearning入门-5(Python和Scipy简介)
    百度PaddlePaddle入门-10(数据处理)
    百度PaddlePaddle入门-9(建模)
    百度PaddlePaddle入门-8(模型探讨)
    MachineLearning入门-4(理解数据集)
    百度PaddlePaddle入门-7 (Numpy的应用)
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286597.html
Copyright © 2020-2023  润新知