camera_calibration_internal------相机内参数标定

* ****************************面相机标定内参基本流程
* 
* 设置初始的内参数参数
StartCamPar := [0.016,0,0.0000074,0.0000074,326,247,652,494]
* 创建一个标定模型
create_calib_data ('calibration_object', 1, 1, CalibDataID)
* 设置相机类型,相机初始的参数
set_calib_data_cam_param (CalibDataID, 0, 'area_scan_division', StartCamPar)
* 使用的标定板的描述文件
set_calib_data_calib_object (CalibDataID, 0, 'caltab_30mm.descr')
NumImages := 10
ImgPath := '3d_machine_vision/calib/'
for I := 1 to NumImages by 1
    read_image (Image, ImgPath + 'calib_' + I$'02d')
    dev_display (Image)
    * 发现标定板,得到其轮廓,交点等
    find_calib_object (Image, CalibDataID, 0, 0, I, [], [])
    get_calib_data_observ_contours (Caltab, CalibDataID, 'caltab', 0, 0, I)
endfor
* 计算其参数,看其结果,并与初始参数比较
calibrate_cameras (CalibDataID, Error)
get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam)
* 相机内参数写入一个文件中
write_cam_par (CamParam, 'camera_parameters.dat')
* 释放
clear_calib_data (CalibDataID)

猜你喜欢

转载自blog.csdn.net/qq_22904277/article/details/80664907