官网参见https://docs.opencv.org/3.4.1/dd/d53/tutorial_py_depthmap.html

上一节中,我们学习了极线约束的概念和相关术语。主要包含:如果我们有同一个场景的2幅图像,我们就可以直观的获得图像的深度信息。下图和其中的数学公式可以证明该理论。

上图是上一节2幅图像间对极几何关系的等价三角形。它的等价方程式如下
disparity=x−x′=BfZdisparity=x−x^′=\frac{Bf}{Z}disparity=x−x′=ZBf​
x 和x’ 分别是图像平面中的点到3D 空间中的点和到摄像机中心的距离。B是2个摄像机之间的距离,f是摄像机之间的焦距。简而言之,上面的等价方程告诉我们点的深度Z和对应的图像点与其相机中心的距离x - x’成反比。根据上面公式,我们可以得到图像中所有像素点的深度。

现在我们就可以找到2个图像之间的匹配点了。我们已经了解了极线约束可以使这个操作更快更精确。一旦找到匹配,就可以获得视差(disparity)。

disparity:原意为“差异”,在立体视觉中称为视差,空间中一点,在左右目所成图像的横坐标之差。

关于视差概念,可以参见https://blog.csdn.net/weixin_40367126/article/details/90753760

以下代码是获得视差图。

视差图是以图像对中任一幅图像为基准,其大小为该基准图像的大小,元素值为视差值的图像

图片下载在http://globalempiresoft.com/tools/AR/OpenCV-2.1.0/samples/c/

import cv2
import numpy as np
import glob
from matplotlib import pyplot as pltimgL = cv2.imread('scene_l.bmp',0)
imgR = cv2.imread('scene_r.bmp',0)
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=15)
disparity = stereo.compute(imgL,imgR)
plt.imshow(disparity,'gray')
plt.show()

视差图结果如下

在上图中有很大的噪音。通过调整numDisparities和blockSize,可以获得更好的结果。
例子中使用图片如下

从视差图推导深度图参见https://www.jianshu.com/p/ee3872dc988b

2019-9-29 opencv摄像机标定与三维重构4-Depth Map from Stereo Images立体图像中的深度图(视差图)相关推荐

  1. 十五天掌握OpenCV——摄像机标定和3D重构!—摄像机标定

    魏老师学生--Cecil:学习OpenCV-机器视觉之旅 基础 代码 设置 标定 畸变校正 反向投影误差 代码演示 Aim: 学习摄像机畸变以及摄像机的内部参数和外部参数: 对畸变图像进行修复. 基础 ...

  2. [OpenCV-Python] OpenCV 中摄像机标定和 3D 重构 部分 VII

    部分 VII 摄像机标定和 3D 重构 OpenCV-Python 中文教程(搬运)目录 42 摄像机标定 目标 • 学习摄像机畸变以及摄像机的内部参数和外部参数 • 学习找到这些参数,对畸变图像进行 ...

  3. OpenCV-Python] OpenCV 中摄像机标定和 3D 重构 部分 VII

    https://www.cnblogs.com/Undo-self-blog/p/8448500.html 42 摄像机标定 目标 • 学习摄像机畸变以及摄像机的内部参数和外部参数 • 学习找到这些参 ...

  4. Python+OpenCV:立体图像深度图(Depth Map from Stereo Images)

    Python+OpenCV:立体图像深度图(Depth Map from Stereo Images) 理论 If we have two images of same scene, we can g ...

  5. MFC+OPENCV摄像机标定

    摄像机的追踪标定 本文是我第一次在csdn上写的博客,有不详之处,望大家见谅,也希望大家多多支持. 废话不多说,直接进入正题.对于摄像机标定,是学习图像处理和机器视觉不可回避的话题,这方面的现有理论已 ...

  6. Opencv相机标定与3D重构---使用棋盘格来进行摄像机标定

    让我们写一点代码来检测在一幅图像中的棋盘格,并获取他到摄像机的距离. 你可以使用同样的方法来针对任何已知三维几何结构的物体,这个物体可以在一幅图像中被检测到. 创建一个空的控制台项目. 载入一幅图片: ...

  7. 【笔记】摄像机标定和3D重构

    目录 一.摄像机标定 1.设置 2.标定 3.畸变矫正 4.反向投影差 三.对极几何 四.深度地图 一.摄像机标定 单孔摄像机(照相机)会给图像带来很多畸变,畸变主要有 "径向畸变" ...

  8. 张正友摄像机标定的研究(MATLAB+OpenCV)

    张正友 本科浙大,本来以为是中国人论文是中文呢,哎 张正友的主页: http://research.microsoft.com/en-us/um/people/zhang/Calib/ 不过里面的棋盘 ...

  9. Python+OpenCV:摄像机标定(Camera Calibration)

    Python+OpenCV:摄像机标定(Camera Calibration) 理论 Some pinhole cameras introduce significant distortion to ...

最新文章

  1. java程序无法连接redis_无法使用jedis连接到redis
  2. 陈勋教授的脑电信号降噪视频与讲座总结
  3. ping的实现和代码分析
  4. 为SAP Analytics Cloud的story创建持久化页面
  5. 带有调试器的Apache Camel Eclipse工具
  6. Linux命令大全(文件管理)
  7. oracle imp 包,oracle imp
  8. 用python生成多个txt文件
  9. 一周畅销书速报 | 端午节特别版
  10. SQL Server导出MDF数据库文件
  11. [转载]MIS专业排名
  12. 虚拟机 VMware Workstation 16 PRO 的网络配置
  13. 你肯定用过手机护眼模式, 但你知道怎么将电脑Win10窗口背景色修改为护眼的淡绿色吗?(附带如何备份注册表)
  14. 网络安全工程师的简单介绍
  15. 学习笔记-磁盘存储管理
  16. 【NOIP2014】解方程【秦九韶】【高精度处理】
  17. 打造一支有服务能力的销售队伍
  18. 怎么区分静态网页和动态网页
  19. 送你一份2019年最新最全的技能图谱(附思维导图)!
  20. 云服务器训练神经网络

热门文章

  1. 开源大数据处理系统/工具大全
  2. [自动化] 如果电脑不会自己看网课,就应该用Python教会它
  3. 菜鸟程序员的成长之路(一)——菜鸟程序员起步
  4. Aria2离线下载搭建
  5. 论文分享:大数据智能决策,《自动化学报》
  6. 信息与计算机,科学网—信息与计算机(1) - 姜咏江的博文
  7. 工大SCIR | 文本摘要简述
  8. 7款必须下载的PC端软件,必看
  9. 安卓期末大作业——番茄小说APP
  10. 暗黑破坏神(DIABLOII 1.11B)BOT下载