双目标定与生成深度图

基于C#联合Halcon实现双目标定整体效果

一,标定

1,标定前准备工作 (获取描述文件与获取相机参数)

针对标准标定板可以直接调用官方提供描述文件,也可以自己生成描述文件后用PS文件打印

2,相机标定

(获取标定信息通过find_calib_object将标定信息添加到calibDataID中,通过"获取最终标定信息"将左相机,右相机,设置的参考位姿进行信息整合)其原理与前面单相机标定原理一样,单相机标定可以参考:如何做一个C#仿Halcon Calibration插件-CSDN博客

多相机标定可以参考Halcon 多相机统一坐标系(标定)_多相机标定统一坐标系-CSDN博客

3,显示相机标定信息

(双目标定用到的参数:左相机参数,右相机参数,右相机相对位姿这三组参数,其他为辅助鉴定标定效果)

二,验证

1,通过标定板图像进行数据验证

复制代码
    RowsL := []
    ColsL := []
    RowsR := []
    ColsR := []
    for I := 1 to NumImages by 1
        select_obj (ImagesRectL, ImageRectifiedL, I)
        select_obj (ImagesRectR, ImageRectifiedR, I)
        find_caltab (ImageRectifiedL, CaltabL, CaltabFile, SizeGauss, MarkThresh, MinDiamMarks)
        find_marks_and_pose (ImageRectifiedL, CaltabL, CaltabFile, RectCamParL, StartThresh, DeltaThresh, MinThresh, Alpha, MinContLength, MaxDiamMarks, RCoordL, CCoordL, StartPoseL)
        find_caltab (ImageRectifiedR, CaltabR, CaltabFile, SizeGauss, MarkThresh, MinDiamMarks)
        find_marks_and_pose (ImageRectifiedR, CaltabR, CaltabFile, RectCamParR, StartThresh, DeltaThresh, MinThresh, Alpha, MinContLength, MaxDiamMarks, RCoordR, CCoordR, StartPoseR)
        RowsL := [RowsL,RCoordL]
        ColsL := [ColsL,CCoordL]
        RowsR := [RowsR,RCoordR]
        ColsR := [ColsR,CCoordR]
    endfor
    X := RowsR - RowsL
    EpipolarError := [mean(X),deviation(X)]

2,通过生成深度图像进行验证

2.1),加载图像并进行校正效果

复制代码
map_image (Image, Map, ImagesRect)

2.2)生成深度图像与分值图像

复制代码
binocular_distance (ImageRectifiedL, ImageRectifiedR, DistanceImage, ScoreImageDistance, RectCamParL, RectCamParR, RectLPosRectR, 'ncc', MaskWidth, MaskHeight, TextureThresh, MinDisparity, MaxDisparity, NumLevels, ScoreThresh, 'left_right_check', 'interpolation')

通过外部参数修改生成的深度图像效果

拟合平面,优化图像并获取最终高度范围内图像

图像优化可以参Halcon深度图高度测量

相关推荐
共创splendid--与您携手22 分钟前
AI读取前端项目生成skill.md
前端·人工智能·ai
gis分享者2 小时前
AI数字营销实测体验,GEO效果查询功能体验
人工智能·csdn·geo·数字营销·实测体验·效果查询
莱歌数字2 小时前
轻出20%性能:三维拓扑优化如何重塑无人机电子设备散热格局
人工智能·科技·制造·cae·散热
猿小猴子2 小时前
主流 AI IDE 之一的「DeepSeek-Reasonix 」介绍
人工智能·ai·deepseek·reasonix
装不满的克莱因瓶2 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz2 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
程序员cxuan8 小时前
为每个任务配一套 harness:Claude Code 里的动态工作流
人工智能
程序员cxuan8 小时前
Claude Fable 5 来了
人工智能·后端·程序员
云边云科技_云网融合8 小时前
云边云科技亮相 2026 WOD 制造业数智化博览会 云网融合赋能制造焕新
人工智能·科技·安全·制造
Σίσυφος19008 小时前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面