双目视觉--SGM

  • 1. 获取深度信息
  • 2. SGM
    • 2.1 代价计算
    • 2.2 路径聚合
      • 2.2.1 实验结果
      • 2.2.2 遇到的问题
    • 2.3 视差优化
      • 2.3.1 实验结果
      • 2.3.2 数据流图
    • 2.4 视差填充
      • 2.4.1 实验结果
    • 2.5 视差图

1. 获取深度信息

  1. 工作平台 VS2019 + opencv3.1.0
  2. img_left + img_right → disparity map → depth map
  3. 准备工作

2. SGM

学习参考链接: https://ethanli.blog.csdn.net/article/details/105065660
代码下载 百度网盘:https://pan.baidu.com/s/1HhpQ_VQqBes1xRY-Klg5gw
提取码:vay5


2.1 代价计算

  1. 代价计算 sgm1 实验结果:

2.2 路径聚合

2.2.1 实验结果

  1. 四路径聚合 sgm2 实验结果:

  2. 八路径聚合 sgm3 实验结果:

2.2.2 遇到的问题

  1. 0xC0000005: 写入位置0x0000000000000000时发生访问冲突


解决方法:空指针即没有对指针赋值 使用 new delete 为指针开辟内存空间和释放内存

uint8* cost_aggr_1_;
sgm_util::CostAggregateLeftRight(img_left_, width_, height_, min_disparity, max_disparity, P1, P2_Init, cost_init_, cost_aggr_1_, true);
// 解决方法:对指针 cost_aggr_1_ 进行初始化
cost_aggr_1_ = new uint8[width * height * disp_range]();
if (cost_aggr_1_ != nullptr) { delete[] cost_aggr_1_;cost_aggr_1_ = nullptr; }
  1. 代价计算的初值由初始代价值换算为聚合后的代价值
void SemiGlobalMatching::ComputeDisparity() const
{    ...auto cost_ptr = cost_aggr_;...  }

2.3 视差优化

2.3.1 实验结果

  1. 子像素拟合 sgm4 实验结果:
  2. 左右一致性检查 sgm5 实验结果:
  3. 唯一性约束 sgm6 实验结果
  4. 剔除小连通区 sgm7 实验结果
  5. 中值滤波 sgm8 实验结果

2.3.2 数据流图

  1. 子像素拟合
  2. 左右一致性检查

2.4 视差填充

2.4.1 实验结果

  1. 视差填充 sgm9 实验结果

2.5 视差图

  1. 视差图 sgm10 实验结果
  2. 视差图-伪彩 sgm10 实验结果
  3. 各步骤运行时间 sgm10 实验结果

双目视觉立体匹配--SGM相关推荐

  1. 双目视觉立体匹配matlab,双目视觉立体匹配方法

    双目视觉立体匹配方法 [专利摘要]双目视觉立体匹配方法,首先对视图组中待匹配点进行基于稠密特征描述方法的视差先验估计,而后使用汉明间距方法计算视图组中候选匹配点之间的匹配代价,然后使用基于自适应窗口代 ...

  2. python 立体匹配_手写双目立体匹配 SGM 算法(下)

    上节的内容主要对 SGM 算法的匹配代价体 (Cost Volume) 进行了详细介绍,发现如果只寻找逐个像素匹配代价的最优解会使得视差图对噪声特别敏感.因此在能量方程中考虑使用该点像素的邻域视差数据 ...

  3. 基于深度学习的立体匹配相关论文总结

    1.<End-to-End Learning of Geometry and Context for Deep Stereo Regression> 详细内容 发表时间:2017年3月13 ...

  4. 双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]

    文章目录 前言 影像坐标系 相机坐标系 世界坐标系 影像坐标系与相机坐标系之间的相互转换 相机坐标系与世界坐标系之间的相互转换 前言   通过模拟人眼立体视觉,两个摄像机拍摄同一场景可构成双目成像模型 ...

  5. 【总结】FLANN特征匹配

    工作需要用到FLANN特征匹配技术,在这里记录一些关键知识点. ORB (Oriented FAST and Rotated BRIEF)  算法简介 分为两部分: 特征点提取 -由FAST(Feat ...

  6. 论文《A High Spatial Resolution Depth Sensing Method Based on Binocular Structured Light》学习

    Abstract (SCI二区)自从微软Kinect发布以来,深度信息以其低成本和易用性在许多领域得到了广泛的应用.然而,Kinect和Kinect类的RGB-D传感器在某些应用中表现出有限的性能,对 ...

  7. 【计算机视觉】基于FREAK特征描述子的分析、仿真与思考

    这段日子研究了很多的特征点检测与匹配,基本把Harris.Fast.SIFT.SURF.ORB.Censure.Brief.Brisk等各类特征检测子与描述子的论文和原理都大致了解了一遍,并进行了仿真 ...

  8. 关于虚拟视点生成(Depth Based Image Rendering)问题

    一篇简要介绍 原理 的中文Blog 虚拟视点绘制 该Blog作者Github上对应的一个项目:Multi_View_System 一些Blog 真实场景的虚拟视点合成(View Synthsis)详解 ...

  9. 双目视觉——SGM中的动态规划

    双目视觉--SGM中的动态规划 双目视觉--SGM中的动态规划 双目视觉--SGM中的动态规划 由于工作上的需要,需要学习下双目立体匹配邻域中的一个经典算法SGBM,这里我的主要学习流程是先阅读了下原 ...

最新文章

  1. echarts 在两点之间画一条线_凭什么?辛辛苦苦画了三个小时,却换来一句“撕了重画”...
  2. Python Json存储与读取
  3. gdb info frame信息解释
  4. 删零c语言,C语言(请不要删)
  5. 给脚本添加到环境变量_让你的脚本可以在任意地方都可执行的几个方法
  6. Transfer: 99款高质量免费(X)HTML/CSS模板
  7. Teamcenter 入门开发系列问答(4)
  8. vs生成命令和属性的宏
  9. 【大数据编程笔记】大数据背景,案例,概念
  10. [Leetcode] Reorder List
  11. [转载] Unicode文本排序和Unicode数据库
  12. Quoit Design
  13. pyCharm汉化方法
  14. Matlab打开prn文件,打印prn文件的方法和技巧,.prn用什么软件打开?
  15. 欧姆龙nj与nx哪个高端_没想到还有比三菱更垃圾的PLC,欧姆龙隆重登场
  16. 基于matlab的图像拼接论文,基于MATLAB的图像拼接算法实现研究
  17. 费马大定理+勾股数奇偶规律
  18. 街道字符识别_题目理解(datawhale)
  19. JVM-调优《常见可视化工具与命令行的使用》
  20. Grapher如何控制单个条目图例中的样本大小丨使用教程

热门文章

  1. 新规划|广州都市圈将以广佛为核心,广佛将有18条地铁相连通
  2. java 取余运算 小数_java - 神奇的取余运算
  3. 使用fastapi完成一个车辆违章查询,可以看到实现页面
  4. openGL之API学习(一四六)矢量字体和点阵字体
  5. 国办新发文 加快扩大电子证照应用领域及推出全国互通互认
  6. 【基础知识思考整理 】Zero-copy原理理解(用户角度)
  7. 【直视骄阳】遗愿清单
  8. Linux shell if条件判断1
  9. 利用CSS3实现圆角的outline效果的教程
  10. 解决Google Play商店出现“此设备未经Play保护机制认证”问题