Halcon标定流程
 
摄像机分两种,一种是面扫描摄像机(Area Scan Camera),一种是线扫描摄像机(Line Scan Camera)。准确来说,叫摄像机系统比较正确。两者的区别我也提一提吧,有些同学可能不知道,所谓的面扫描摄像系统是指可以通过单纯曝光取得面积影像,而线扫描摄像机,必须利用运动速度才能取得影像。
 
两种不同的摄像系统由于成像的过程有区别,所以标定的过程也有区别,这里仅讨论面扫描摄像系统。流程如下:
 
1、初始摄像机参数:
startCamPar:=[f,k,Sx,Sy,Cx,Cy,NumCol,NumRow]
f   焦距
k  初始为0.0
Sx 两个相邻像素点的水平距离
Sy 两个相邻像素点的垂直距离
Cx、Cy 图像中心点的位置
NumCol NumRow图像长和宽
 
2、caltab_points读取标定板描述文件里面描述的点到X[],Y[],z[],描述文件由gen_caltab生成。
 
3、fin_caltab找到标定板的位置
 
4、find_marks_and_pose 输出标定点的位置和外参startpose
 
5、camera_calibration输出内参和所有外部参数
 
到第五步时,工作已经完成了一半,计算出各个参数后可以用map_p_w_picpath来还原形变的图像或者用坐标转换参数将坐标转换到世界坐标中。