双目标定与生成深度图

基于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深度图高度测量

相关推荐
艾醒4 小时前
探索大语言模型(LLM):大模型微调方式全解析
人工智能·算法
IvanCodes4 小时前
RTX 4090 加速国产 AIGC 视频生成:腾讯混元与阿里千问开源模型
人工智能·开源·aigc·音视频
说私域4 小时前
定制开发开源AI智能名片S2B2C商城小程序的会员制运营研究——以“老铁用户”培养为核心目标
人工智能·小程序·开源
格林威4 小时前
常规可见光相机在工业视觉检测中的应用
图像处理·人工智能·数码相机·计算机视觉·视觉检测
循环渐进Forward4 小时前
Go语言:给AI开发装上高性能引擎
开发语言·人工智能·golang
skywalk81634 小时前
调试parlant的大模型配置,最终自己动手写了g4f的模块挂载
网络·人工智能·语言模型·tiktoken
MUTA️4 小时前
论文速览:从ConvNeXt 到 ConvNeXt V2
人工智能·深度学习
九天轩辕5 小时前
用一个 Bash CLI 管理多款 AI 开发工具:jt-code-cli 实战与原理解析
开发语言·人工智能·bash
张较瘦_5 小时前
[论文阅读] AI+软件工程 | 开发者 AI 需求新指南:任务感知视角下的负责任 AI 实证研究
论文阅读·人工智能·软件工程
blues_C6 小时前
Playwright MCP vs Chrome DevTools MCP vs Chrome MCP 深度对比
前端·人工智能·chrome·ai·chrome devtools·mcp·ai web自动化测试