当前位置:资讯 > 人机界面 > 正文

机器计算机视觉的应用-打孔机影像定位系统设计(图)

发布时间:2006-11-27     作者:连锦湮      

摘要:       计算机视觉的应用大致上可以分成定位、量测、识别、缺陷检测四大类,其中以定位的应用最为广泛。机器视觉系统可以用来检视主机板上的电子组件,也可以用来控制机械手臂,在机械手臂上加装CCD,利用影像辨识的定位,带动机械手臂来做病毒研究、药物混合等一些高危险性的医疗研究。除了精准之外,对人类的生命也比较有安全保障。
21;的标准影像做“影像比对”作业;
● 计算出“初步定位”的偏移量(Shift X/Y)及旋转角度 (Rotation Angle);
tx = GoldeXY[CCD_Find][1] - m_Find.GetCenterX();
ty = GoldeXY[CCD_Find][0] - m_Find.GetCenterY();
if (CCD_Find==0) {  //第一次定位
   shiftx = ZeroX - tx*Calibration;
   shifty = CCD_Y - ty*Calibration;
} else {  //第二次定位
   dx = CCD_Locate[1][0] - tx*Calibration;
   dy = CCD_Y - ty*Calibration;
   angle = atan2( dy - shifty, shiftx-dx);
   CalNewLoca
te(angleCONTROL ENGINEERING China版权所有, shiftx, shifty);
}
● 通过“极坐标转换”,重新计算工件上所有孔位的新坐标(Point Table)。
void CalNewLocate(F64 angleCONTROL ENGINEERING China版权所有, F64 shiftx, F64 shifty)
{
   int i;
   F64 P[TOTAL_POINT*2];
   F64 t;
   for (i=0; i<TOTAL_POINT; i++) { //极坐标转换
      P[i*2] = sqrt( OrgLocate[i*2] * OrgLocate[i*2]
            + OrgLocate[i*2+1] * OrgLocate[i*2+1]);
      P[i*2+1] = atan2( OrgLocate[i*2],
               OrgLocate[i*2+1])+ angle;
   }
   for (i=0; i<TOTAL_POINT; i++) {
      t = P[i*2]*sin(P[i*2+1]);
      NewLocate[i*2]   = (shiftx + t)*SCALE_X;
      t = P[i*2]*cos(P[i*2+1]);
      NewLocate[i*2+1] = (shifty + t)*SCALE_Y;
   }
}
结束语
机器视觉系统不但大幅的提升了工业的生产力,而且增加了使用者的能力。使用机器视觉系统可以保护人眼的健康和提高检测精度,而机器视觉系统能24小时不停顿地工作,且能在高速下执行检查,而检视的准确度也能控制在较稳定的程度之内。
此外CONTROL ENGINEERING China版权所有,在危险工作环境中,在需要快速处理的军事武器操控控制工程网版权所有,实时、大量的生产线上控制工程网版权所有,在量测、定位、对象判别等高精确性工作中控制工程网版权所有,机器视觉系统也都有很好的应用前景。

 




































版权声明:版权归中国控制工程网所有,转载请注明出处!
  • 相关文章