VisionPro实现仪表刻度识别

仪表作为圆处理圆心画可以一条线,指针坐标画一条线
两条线可以算出角度 套公式得出结果
VisionPro实现仪表刻度识别_第1张图片
思路图
VisionPro实现仪表刻度识别_第2张图片
VisionPro实现仪表刻度识别_第3张图片
表盘中间横线分开
上边份 + 0~180
下部份 -0~-180
角度-45°~-135°
对应刻度0-100
表盘85-100一截区域角度范围A > -180 and A < -135
如 -150大于-180 并且小于-135
把这部分转成正的 180°+(180°-(-150°))=210°
视觉部分如下
VisionPro实现仪表刻度识别_第4张图片
简单脚本代码

public override bool GroupRun(ref string message, ref CogToolResultConstants result)
  {
    double A = CogMisc.RadToDeg(Inputs.Angle);//弧度转角度
    double v1=0;//刻度
    double v2=100;
    double A1 = -45;//角度
    double A2 = 225;
    //表盘85-100一截区域
    if(A > -180 && A < -135)
    {
      A = 180 + (180- Math.Abs(A));
    }
    Outputs.Output = (A - A1) * (v2 - v1) / (A2 - A1) + v1;
    

    return false;
  }

你可能感兴趣的:(Visionpro应用,计算机视觉)