基础

在上一节,我们看到了极线约束和其他相关术语。我们也看到了如果我们有同一场景的两张图像,我们可以从直觉的方法从里面获得更多信息。下面是一个图像,和一些数学公式证明这个直觉

上面的图包含等面积三角形,写出他们的等式会得到下面的结果:

x和x'是图像平面里的点对应的场景里的点和摄像机中心的距离。B是两个摄像机之间的距离(我们已知),f是摄像机焦距(已知)。所以,上面的等式说一个点在场景里的深度和对应图像点和他们摄像机中心点的距离差成反比。有了这个信息,我们可以得出图像里所有像素的深度。

所以它在两个图像里找对应的匹配点。我们已经看到了极线约束会让这个运算快捷和准确,当它找到了匹配,它也就找到了视差,让我们看看用OpenCV怎么做

编码

下面的代码片段展示了一个简单的创建视差图的过程。import numpy as np

import cv2

from matplotlib import pyplot as plt

imgL = cv2.imread('tsukuba_l.png',0)

imgR = cv2.imread('tsukuba_r.png',0)

stereo = cv2.createStereoBM(numDisparities=16, blockSize=15)

disparity = stereo.compute(imgL,imgR)

plt.imshow(disparity,'gray')

plt.show()

下面的图像包含原始图像(左边)和它的视差图(右边)。你可以看到结果被高度噪音污染了。调整numDisparities和blockSize的值,你可以得到更好结果。

END

python 深度 视差 计算_OpenCV-Python教程:49.立体图像的深度图相关推荐

  1. python 深度 视差 计算_python-窗口代价计算视差

    一.窗口代价计算视差的的基本原理 二.实现NCC视差匹配方法 三.图像集 四.总结 一.窗口代价计算视差的的基本原理 立体匹配算法的原理:就是找出两张图像的对应关系,根据三角测量原理,得到视差图:在获 ...

  2. python 深度 视差 计算_计算视觉——视差计算

    背景介绍 立体匹配也称作视差估计(disparity estimation),或者双目深度估计.其输入是一对在同一时刻捕捉到的,经过极线校正的左右图像  和  .而它的输出是由参考图像(一般以左图作为 ...

  3. python 深度 视差 计算_NCC视差匹配计算视差图(python)

    目录 一.视差计算原理 1.1 NCC视差匹配方法 1.2 双目立体匹配 二.实验内容 2.1 不同窗口对匹配结果的影响 2.2 分析 三.实验代码 四.总结 一.视差计算原理 1.1 NCC视差匹配 ...

  4. python 深度 视差 计算_开源双目视觉BM算法-Matlab/Python/Javascript

    更新:应朋友要求,增加了一个Python版本的BM算法和Javascript版本 Python版本BM​github.com JAVASCRIPT版本BM​github.com 整理以前的代码,找到了 ...

  5. python 深度 视差 计算_2,Learn about Parallax(视差贴图)

    接上文 : https://zhuanlan.zhihu.com/p/128682162 浮雕视差贴图: 浮雕视差贴图是陡峭视差贴图的进阶版.并允许GLSLshader更加精确地找到偏移的UV坐标.首 ...

  6. python 立体图像_OpenCV-Python 立体图像的深度图 | 五十二

    目标 在本节中, 我们将学习根据立体图像创建深度图. 基础 在上一节中,我们看到了对极约束和其他相关术语等基本概念.我们还看到,如果我们有两个场景相同的图像,则可以通过直观的方式从中获取深度信息.下面 ...

  7. 【安安教具】-【数学】-【有理数计算】模拟器 教你如何用python制作有理数计算模拟器 python项目小发明 eval函数

    今天教大家用python模拟有理数计算,首先展示功能页面: 啊这?怎么用这个东西呀?我们来看看~ 有理数计算模拟器 哇,功能这么强大?那实现起来一定很难吧??? 其实也没那么难...因为python早 ...

  8. python 复杂数据相似度计算_Opencv python图像处理-图像相似度计算

    一.相关概念 1. 一般我们人区分谁是谁,给物品分类,都是通过各种特征去辨别的,比如黑长直.大白腿.樱桃唇.瓜子脸.王麻子脸上有麻子,隔壁老王和儿子很像,但是儿子下巴涨了一颗痣和他妈一模一样,让你确定 ...

  9. python 仪表盘图片读数_opencv+python计算仪表盘读数

    我使用的是最基础,精确度最低的方法,我可这真是太菜了 代码很简单,那些函数百度一下就可以搜到了,我就不详细讲了.写这篇文章的目的是,我之前做过很多程序中其实都用过这些函数,但是哪些程序在我改了一边又一 ...

最新文章

  1. 用asp.net实现的把本文推荐给好友功能
  2. R语言distMeeus函数计算大圆距离实战(Great Circle Distance)
  3. ip and port check 正则
  4. Spring + Mybatis 使用 PageHelper 插件分页
  5. 【线上直播】Xilinx U30 视频转码 + AI 的应用技术实践
  6. 热电偶校验仪_热电偶校验方法_热电偶的使用方法及维修经验
  7. (DFS or BFS)Find The Multiple(poj1426)
  8. Structure of a Task
  9. php switch正则表达式,switch的用法以及正则表达式简单的用法
  10. 其它 博客园 自己写的文章 标题含有小写字母 查看文章时 标题就变成大写的了...
  11. 37.Linux/Unix 系统编程手册(下) -- DAEMON
  12. python 打印三维数据_Python中的面向对象编程(二):数据隐藏和对象打印
  13. Android模仿超级课表,展示多门课程重叠,页面有折角背景
  14. setup factory制作安装包卸载出错“Invalid start mode:archive filename”
  15. 【科研绘图】Adobe illustrator加Origin组合绘图
  16. 频率响应——频率响应基本概念;单时间常数RC电路频率响应
  17. 第46届ICPC 东亚区域赛(澳门) A So I‘ll Max Out My Constructive Algor...
  18. 网易实习面经——网易云音乐
  19. 全球各个国家名的英文
  20. mybatis在实际项目中常见的排坑配置

热门文章

  1. java如何写线程外部类_廖雪峰Java读书笔记(六)--多线程(或称并发)
  2. java设计模式adapter_Java设计模式--适配器(Adapter)模式
  3. 负载均衡在分布式架构中是怎么玩起来的?
  4. centos7 转换为lvm_[转] centos7 调整XFS格式的LVM大小
  5. matlab 主成分 分类,matlab主成分分析
  6. c++中有表示正无穷的数吗_阅读:贯穿编程人生CSAPP[2]信息表示
  7. vue打开后端html文件,vue中怎么请求后端数据?
  8. 【git】【eclipse】免密/SSH 方式连接免登录
  9. 操作系统--处理机调度
  10. stm32f7linux,STM32F7串口5初始化失败