双目视觉--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. 31个好用的 Python 字符串方法,建议收藏!
  2. 学习java的一些笔记(3)
  3. 自学python后能干什么-学Python后能干什么 郑州Python就业怎么样
  4. 高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-1 发布
  5. 6.1 Tensorflow笔记(基础篇):队列与线程
  6. iOS - block变量捕获原理
  7. Pytorch(3)-数据载入接口:Dataloader、datasets
  8. 12c weblogic需要输入用户名密码
  9. java 什么是类的继承_Java基础,类的继承,粗略的理解希望对大家有所帮助!
  10. 搭建Hadoop开发环境(全过程)
  11. Python 学习笔记->《流畅python》学习
  12. 《Apache Spark源码剖析》
  13. python写文件指定编码_python指定写入文件时的编码格式方法
  14. Scrum-Sprint关键会议的培训
  15. Mac 查找软件安装位置
  16. 微型计算机硬件系统基本组成一般应用包括,计算机系统的基本组成,一般应包括哪些...
  17. 有关shape文件的说明
  18. 多版本谷歌chrome浏览器并存(谷歌浏览器从C盘移植)
  19. python 50 前端 html5 css3
  20. 数据结构PTA习题:基础实验4-2.7 修理牧场 (25分)

热门文章

  1. 基于stm32f103zet6控制180°舵机的详细使用及测试(keil5软件)
  2. 极客大挑战 Http
  3. Visual Studio Code怎么停止正在运行的Python脚本?
  4. python 音频特征提取工具库
  5. 管理电脑文件11条妙招
  6. 珠海中级Java招聘 薪资16-20k
  7. 数据结构与算法:一、线性表的顺序存储结构SeqList和链式存储结构LinkList
  8. Shell入门教程:Shell函数详解
  9. Python使用open3d或matplotlib库实现显示深度3D效果图
  10. windows 系统下载地址