工控编程吧
标题:
工业视觉halcon相机标定结果使用
[打印本页]
作者:
qq263946146
时间:
2019-11-8 10:45
标题:
工业视觉halcon相机标定结果使用
相机标定之后,其结果可以进行保存供正交直接使用。
标定相关算子分类于Calibration下,参数相关在子分类栏目下。
我们这演示标定后,其结果如何使用。
下面为实例代码,可以运行查看效果。
(, 下载次数: 2)
上传
点击文件名下载附件
dev_close_window ()
dev_open_window (0, 0, 768, 576, 'black', WindowHandle)
create_calib_data ('calibration_object', 1, 1, CalibDataID)
StartCamPar := [0.008, 0, 0.0000086, 0.0000086, 384, 288, 768, 576]
CalTabDescrFile := 'caltab_big.descr'
set_calib_data_cam_param (CalibDataID, 0, [], StartCamPar)
set_calib_data_calib_object (CalibDataID, 0, CalTabDescrFile)
NumImages := 10
for I := 1 to NumImages by 1
read_image (Image, 'calib/calib-3d-coord-' + I$'02')
find_calib_object (Image, CalibDataID, 0, 0, I - 1, [], [])
get_calib_data_observ_contours (Contours, CalibDataID, 'caltab', 0, 0, I - 1)
dev_display (Image)
dev_set_line_width (3)
dev_display (Contours)
endfor
stop()
calibrate_cameras (CalibDataID, Error)
for I := 1 to NumImages by 1
read_image (Image, 'calib/calib-3d-coord-' + I$'02')
threshold (Image, Regions, 0, 120)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [50,0.9], [1000,1])
sort_region (SelectedRegions, SortedRegions, 'upper_left', 'true', 'row')
area_center (SortedRegions, Area, Row, Column)
get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam)
get_calib_data (CalibDataID, 'calib_obj_pose', [0,I-1], 'pose', pos)
image_points_to_world_plane (CamParam, pos, Row, Column, 'm', X, Y)
dev_display (Image)
if(|Row|>2)
distance_pp (X[0], Y[0], X[1], Y[1], Distance)
caltab_points ('caltab_big.descr', X1, Y1, Z)
distance_pp (X1[0], Y1[0], X1[1], Y1[1], Distance1)
dev_disp_text ('间距:'+Distance$'02', 'window', 10, 10, 'red', [], [])
endif
stop()
endfor
文章内容为下面HALCON视频教程的部分内容,
可以下载教程观看学习。
[halcon]1[/halcon]
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4