Cruise007
高级工程师
高级工程师
  • 最后登录2017-05-23
  • 发帖数51
  • 金币1517枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
阅读:587回复:10

双目标定

楼主#
更多 发布于:2016-11-26 09:01
一、主要函数说明
1.get_image_pointer1(Image : : : Pointer, Type, Width, Height)
返回第一通道的点,图像数据类型,图像尺寸。
2.disp_image(Image : : WindowHandle : )
在输出窗口显示灰度图像
3.visualize_results_of_find_marks_and_pose (ImageL, WindowHandle1, RCoordL, CCoordL, StartPoseL, StartCamParL)
内部函数,显示初步标定的坐标系和MARKS中心,MARKS中线用十字线标出。
4.set_calib_data_observ_points( : : CalibDataID, CameraIdx, CalibObjIdx,CalibObjPoseIdx, Row, Column, Index, Pose : )
储存以点为基础的标定观测值,将观测值储存与标定数据句柄中。
5.calibrate_cameras( : : CalibDataID : Error)
根据标定数据模型中的值标定摄像机。
6.get_calib_data( : : CalibDataID, ItemType, ItemIdx, DataName : DataValue)
查询储存或计算得到的标定模型中的数据。
7.write_cam_par( : : CameraParam, CamParFile : )
把相机内参数写入TXT文件
8.write_pose( : : Pose, PoseFile : )
把相机的位姿写入TXT文件
9.gen_binocular_rectification_map( : Map1, Map2 : CamParam1, CamParam2, RelPose,SubSampling, Method, MapType : CamParamRect1, CamParamRect2, CamPoseRect1,CamPoseRect2, RelPoseRect)
把相机参数和姿态作为输入,输出为校正图像和矫正后的参数和姿态。
10.map_image(Image, Map : ImageMapped : : )
二、示例程序
dev_update_window ('off')
* Step1:Set the image path
ImgPath := '3d_machine_vision/stereo/'
* Step2:Read the first images to get their size
i := 0
read_image (ImageL, ImgPath+'calib_distorted_l_'+i$'03d')
read_image (ImageR, ImgPath+'calib_distorted_r_'+i$'03d') //分别读取左右目图像,编号长3位//
* Step3:Reopen the windows with an appropriate size
dev_close_window ()
dev_close_window ()
get_image_pointer1 (ImageL, PointerL, TypeL, WidthL, HeightL)
get_image_pointer1 (ImageR, PointerR, TypeR, WidthR, HeightR)
dev_open_window (0, 0, WidthL, HeightL, 'black', WindowHandle1)
dev_open_window (0, WidthL+5, WidthL, HeightL, 'black', WindowHandle2)    //为左右目各打开一个图形窗口
* Step4:Set the calibration plate description file
CaltabName := 'caltab_30mm.descr'
* Set the initial values for the interior camera parameters
StartCamParL := [0.0125, 0, 7.4e-6, 7.4e-6,WidthL/2.0,HeightL/2.0,WidthL,HeightL]
StartCamParR := StartCamParL
*Step5: parameter settings for find_caltab and find_marks_and_pose
SizeGauss := 3
MarkThresh := 120
MinDiamMarks := 5
StartThresh := 128
DeltaThresh := 10
MinThresh := 18
Alpha := 0.9
MinContLength := 15
MaxDiamMarks := 100
* Step6:Create a calibration data model in which all calibration data,including the image coordinates of the
calibration marks and the observation poses of the calibration plate will be accumulated
create_calib_data ('calibration_object', 2, 1, CalibDataID)      //创建标定数据模型句柄//
set_calib_data_cam_param (CalibDataID, 0, 'area_scan_division', StartCamParL)   //在标定模型中设置相机的类型和原始参数                                                                
set_calib_data_cam_param (CalibDataID, 1, 'area_scan_division', StartCamParR)
set_calib_data_calib_object (CalibDataID, 0, CaltabName)      
//定义一个标定对象//

* Step7:Start the loop over the calibration images
此帖售价 8 金币,已有 9 人购买 [记录] [购买]
此段为出售的内容,购买后显示




* Perform the actual calibration
calibrate_cameras (CalibDataID, Errors)         //根据标定数据模型中的值标定摄像机//
* Get the calibrated camera parameters
get_calib_data (CalibDataID, 'camera', 0, 'params', CamParamL)
get_calib_data (CalibDataID, 'camera', 1, 'params', CamParamR)      //获取摄像机参数//
* Since the left camera is the reference camera for the
* calib data model, the pose of the right camera is its
* pose relative to the left camera
get_calib_data (CalibDataID, 'camera', 1, 'pose', cLPcR)    //获取右目相对于左目的位姿//
* Store the results into files
write_cam_par (CamParamL, 'cam_left-125.dat')
write_cam_par (CamParamR, 'cam_right-125.dat')
write_pose (cLPcR, 'pos_right2left.dat')                    //将相机参数写入文件//
* Generate the rectification maps
gen_binocular_rectification_map (MapL, MapR, CamParamL, CamParamR, cLPcR, 1, 'geometric', 'bilinear', RectCamParL, RectCamParR, CamPoseRectL, CamPoseRectR, RectLPosRectR)
 //把相机参数和姿态作为输入,输出为校正图像和矫正后的参数和姿态。//
* Read in a stereo image pair, aquired with the stereo camera system,
* which has been calibrated, just now.
read_image (ImageL, ImgPath+'caliper_distorted_l')
read_image (ImageR, ImgPath+'caliper_distorted_r')
* Rectify the stereo images and display them
map_image (ImageL, MapL, ImageRectifiedL)
map_image (ImageR, MapR, ImageRectifiedR)
dev_set_window (WindowHandle1)
dev_clear_window ()
dev_display (ImageRectifiedL)
dev_set_window (WindowHandle2)
dev_clear_window ()
dev_display (ImageRectifiedR)
disp_continue_message (WindowHandle1, 'black', 'true')
stop ()
dev_set_window (WindowHandle2)
dev_close_window ()
dev_update_window ('on')
dev_set_window (WindowHandle1)
dev_clear_window ()
dev_display (ImageRectifiedL)
clear_calib_data (CalibDataID)
[Cruise007于2016-12-07 15:57编辑了帖子]

最新喜欢:

蔡冲000蔡冲000 喏喏心木木兮喏喏心木木兮
努力到无能为力,拼搏到感动自己
fengxiaoyun987
专家
专家
  • 最后登录2017-05-22
  • 发帖数652
  • 金币2231枚
  • 贡献勋章0枚
  • 社区居民
  • 原创写手
沙发#
发布于:2016-12-07 09:16
最近在做双目视觉,买来看看!
Cruise007
高级工程师
高级工程师
  • 最后登录2017-05-23
  • 发帖数51
  • 金币1517枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
板凳#
发布于:2016-12-08 08:05
fengxiaoyun987:最近在做双目视觉,买来看看!回到原帖
希望有帮助
努力到无能为力,拼搏到感动自己
fengxiaoyun987
专家
专家
  • 最后登录2017-05-22
  • 发帖数652
  • 金币2231枚
  • 贡献勋章0枚
  • 社区居民
  • 原创写手
地板#
发布于:2016-12-08 14:35
Cruise007:希望有帮助回到原帖
请问,你说的这个例程名字叫啥?
yinbo198732
技术员
技术员
  • 最后登录2017-05-19
  • 发帖数54
  • 金币167枚
  • 贡献勋章0枚
  • 社区居民
4楼#
发布于:2016-12-24 07:59
收藏了!!!!!!!!!!!!!!!!!!
Cruise007
高级工程师
高级工程师
  • 最后登录2017-05-23
  • 发帖数51
  • 金币1517枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
5楼#
发布于:2016-12-24 08:40
yinbo198732:收藏了!!!!!!!!!!!!!!!!!!回到原帖
谢谢
努力到无能为力,拼搏到感动自己
vip123酱
助理工程师
助理工程师
  • 最后登录2017-05-23
  • 发帖数90
  • 金币400枚
  • 贡献勋章0枚
6楼#
发布于:2017-01-09 20:28
楼主,这个例程是哪个
luyue0961
助理工程师
助理工程师
  • 最后登录2017-03-06
  • 发帖数37
  • 金币293枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
7楼#
发布于:2017-02-20 16:57
stereo_calibration.hdev
Cruise007
高级工程师
高级工程师
  • 最后登录2017-05-23
  • 发帖数51
  • 金币1517枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
8楼#
发布于:2017-02-21 08:28
luyue0961:stereo_calibration.hdev回到原帖
是的
努力到无能为力,拼搏到感动自己
armyzhang
助理工程师
助理工程师
  • 最后登录2017-04-13
  • 发帖数97
  • 金币470枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
9楼#
发布于:2017-03-15 00:05
很好,需要更加努力向你靠拢
tzw142
助理工程师
助理工程师
  • 最后登录2017-04-19
  • 发帖数103
  • 金币395枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
10楼#
发布于:2017-04-17 22:09
分享精神值的点赞!~~~~~
游客

返回顶部