深度相机与红外光相机+摄像头RTSP协议

0、绪论

一般而言,从深度信息的角度考虑相机,相机可以分为:单目,双目,RGB-D相机;单目或者双目相机都是通过被动的接收信息之后通过算法解算得到图片中的深度信息,​ RGB-D相机是主动式的,通过相机额外的配置主动的获得深度信息。

1、深度相机简介

随着计算机视觉与人工智能技术的飞速发展,采用深度相机进行场景三维重建、目标检测、环境感知等应用越来越广泛,与传统的2D相机不同,深度相机可以通过拍摄空间来获得景深信息,从而获得目标的3D信息,构建3D模型,这也是与普通相机最大的差别。目前的深度相机根据其工作原理可以分为三种:TOF、RGB双目、结构光,在机器人、人机交互以及其他工业领域中等到了广泛应用。如下图所示为三种相机的参数差异对比:
在这里插入图片描述
市面上常见的深度相机代表公司:
(1)结构光(Structured-light),代表公司有奥比中光,苹果(Prime Sense),微软 Kinect-1,英特尔 RealSense, Mantis Vision等。
(2)双目视觉(Stereo),代表公司Leap Motion,ZED,大疆等。
(3)光飞行时间法(TOF),代表公司微软Kinect-2,PMD,SoftKinect,联想Phab等。

2、深度相机工作原理简介

  • 2.1 RGB双目
    双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,他是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。

双目立体视觉系统的四个基本步骤:
①相机标定主要包含两部分内容: 单相机的内参标定和双目相机的外参标定,前者可以获得每个相机的焦距、光心、畸变系数等参数,后者可以获得双目相机之间的相机坐标系的旋转、平移关系。
②立体校正过程是根据相机的标定结果,对两个相机采集到的原始图像进行校正,校正后的两张图像位于同一平面且互相平行,即图像的每行像素之间共线。
③立体匹配过程是根据立体校正后的图像,进行像素点的匹配,匹配成功的点表示真实世界中的某点在这两个图像中的不同位置。
④深度计算过程是根据立体匹配结果得到视差图,通过视差图计算每个像素对应的深度,从而获得深度图。

注意:RGB双目相机因为非常依赖纯图像特征匹配,所以在光照较暗或者过度曝光的情况下效果都非常差,另外如果被测场景本身缺乏纹理,也很难进行特征提取和匹配。

  • 2.2 结构光
    结构光,英文叫做 Structured light,基本原理是通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。这种具备一定结构的光线,会因被摄物体的不同深度区域,而采集不同的图像相位信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。简单来说就是,通过光学手段获取被拍摄物体的三维结构,再将获取到的信息进行更深入的应用。通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。

注意:目前结构光技术有如下几种变种:一种是单目IR+投影红外点阵,另外一种是双目IR+投影红外点阵,这样相当于结构光+双目立体融合了,深度测量效果会比前者好一些。比如Intel RealSense R200采用的就是双目IR+投影红外点阵,不足之处就是体积较大。而单目IR+投影红外点阵的方案虽然体积较小,但是效果会差一点。

  • 2.3.TOF
    TOF:Time of flight(飞行时间)。其实ToF是一种测距的方法,ToF相机一般需要使用特定人造光源进行测量,即通过测量超声波、微波、光等信号在发射器和反射器之间的“飞行时间”来计算出两者之间距离。能够实现ToF测距的传感器就是ToF传感器。ToF传感器种类很多,使用较多的是通过红外或者激光进行测距的ToF传感器。

优点:测量精确快速,测量距离长,安全,成本低
缺点:会出现散射光现象,会出现多重反射现象,抗强环境光能力弱。

3、红外相机

不同于红外结构光代表的RGBD相机,单纯的红外相机是和RGB相机作为相并列的品类,属于单目相机的组成部分。红外(IR, infrared)相机和RGB(红、绿、蓝)相机是两种不同类型的图像传感器,具有不同的工作原理和应用领域。以下是它们之间的主要区别:

  • 工作原理:
    IR相机:红外相机使用红外传感器来捕捉红外光谱范围内的辐射。这些相机能够感知物体发出的或反射的红外辐射,而不是可见光。
    RGB相机:RGB相机使用标准的红、绿、蓝三个通道来捕捉可见光光谱范围内的颜色信息。

  • 捕捉的信息:
    IR相机:IR相机主要用于捕捉温度、热量分布、表面特征、夜视和热成像等。它们通常不捕捉可见光颜色信息。
    RGB相机:RGB相机捕捉物体的颜色和纹理信息,用于一般的视觉和图像处理任务,如拍摄照片和录制视频。

  • 应用领域:
    IR相机:红外相机在军事、医学、工业、夜视、安全监控、气象学和建筑热成像等领域得到广泛应用。它们通常用于检测热点、测量温度、识别潜在故障等。
    RGB相机:RGB相机是通用的相机,广泛用于摄影、视频录制、计算机视觉、机器人视觉、自动驾驶、虚拟现实和许多其他应用中。

  • 图像处理:
    IR相机:红外图像通常需要特殊的图像处理和分析技术,以从红外数据中提取有用的信息。
    RGB相机:RGB图像通常可以直接用于一般的图像处理和计算机视觉任务。

  • 成本:
    IR相机:通常比RGB相机昂贵,因为红外传感器和相关技术成本较高。
    RGB相机:通常较为经济实惠,广泛用于消费级和工业应用。
    总的来说,IR相机和RGB相机在捕捉的信息、应用领域和成本等方面有显著区别,因此在选择相机类型时需要根据具体的应用需求来进行决策。如果需要测量温度、执行夜视任务或进行热成像,那么IR相机可能更适合;而如果需要捕捉颜色和纹理信息,进行计算机视觉任务,那么RGB相机可能更合适。

相机编码流的展示与读取

目前监控摄像头一般都遵循监控行业标准,支持RTSP传输协议。
RTSP(Real Time Streaming Protocol,实时流传输协议)是TCP/IP协议体系中的一个重要应用层协议,是一种用于控制流媒体服务器发送多媒体数据(如音频、视频)的应用层协议。它提供了一套用于建立和控制媒体会话的命令,使得客户端可以请求来自服务器的特定流媒体数据。主要负责在客户端与服务器之间建立连接、控制媒体流传输的状态(如播放、暂停、停止等),以及调整媒体流参数(如带宽、传输速率等)。
在这里插入图片描述
RTMP
英文全称:Real Time Messaging Protocol
中文意思:实时消息协议
底层协议:TCP
应用级视频流协议
视频编解码器:H.264
音频编解码器:AAC
延迟:3 - 30 秒

RTSP
英文全称:Real Time Streaming Protocol
中文意思:实时流协议
底层协议:TCP 和 UDP
网络控制协议
视频编解码器:H.265
音频编解码器:AAC
延迟:2 秒

目前监控摄像头多支持RTSP协议,通过VLC技术直接调取RTSP码流,可以有效减低码流播放的时延,获得良好的效果。
相关的详细理论可以参考:
1、RTSP协议在视频监控系统中的典型应用、以及视频监控设备的rtsp地址格式介绍
2、秒懂流媒体协议 RTMP 与 RTSP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/404066.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地私有化部署PDF处理神器Stirling PDF并实现无公网IP远程在线访问

文章目录 前言1. 安装Docker2. 本地安装部署StirlingPDF3. Stirling-PDF功能介绍4. 安装cpolar内网穿透5. 固定Stirling-PDF公网地址 前言 本篇文章我们将在Linux上使用Docker在本地部署一个开源的PDF工具——Stirling PDF,并且结合cpolar的内网穿透实现公网随时随…

通过共享目录上传后门

本文来自无问社区,更多实战内容可前往查看http://www.wwlib.cn/index.php/artread/artid/13337.html 操作步骤 枚举目标主机开启的共享服务信息:10.0.0.6 smbclient -L //10.0.0.6 -U spotWARNING: The "syslog" option is deprecated Ente…

【数据结构】关于Java对象比较,以及优先级队列的大小堆创建你了解多少???

前言: 🌟🌟Hello家人们,这期讲解对象的比较,以及优先级队列堆,希望你能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/MSex7 🌈感兴趣的小伙伴看一看小编主页&…

LeetCode --- 410周赛

题目列表 3248. 矩阵中的蛇 3249. 统计好节点的数目 3250. 单调数组对的数目 I 3251. 单调数组对的数目 II 一、矩阵中的蛇 只要按照题目要求模拟即可&#xff0c;代码如下 class Solution { public:int finalPositionOfSnake(int n, vector<string>& commands…

9 算术、关系、逻辑、赋值、位操作、三元运算符及其优先级

目录​​​​​​​ 1 运算符基础 1.1 什么是运算符 1.2 什么是表达式 1.3 左操作数和右操作数 1.4 运算符分类 1.4.1 按照操作数个数分类 1.4.2 按照功能分类 1.5 如何掌握运算符 2 算术运算符 2.1 正号和负号 2.2 加、减、乘、除 2.3 取模&#xff08;取余&#…

Git的使用-初级

Git 主要可以使用的远程仓库有 Github &#xff0c;Gitee 如果在国内建议使用 Gitee 比较快 从远程仓库下载工程 在安装好了 Git 后&#xff0c;我们右键单击一个本地的文件夹作为下载的目的地&#xff0c;选择 Git Bash Here 便可以通过 Linux 命令行的形式操作 Git Linux…

Redis的基本概念和使用

目录 一、Redis简介 1、NOSQL 2、NOSQL和关系型数据库比较 3、主流的NOSQL产品 4、什么是Redis 5、启动Redis 二、Redis基本操作 1、大概操作 三、 Redis 数据类型&#xff08;5种常用&#xff09; 1、redis 数据存储格式 2、String 3、hash 4、list 5、Set 6、…

【Linux入门】Linux常见指令

目录 前言 一、Linux基本指令 1.ls指令 2.pwd命令 3.cd 指令 4.touch指令 5.mkdir指令 6.rmdir指令 && rm 指令 7.man指令 8.cp指令 9.mv指令 10.cat 11.date 12.top 13.shutdown-关机 14.重要的几个热键 二、Linux扩展指令 总结 前言 Linux指令是在…

自学编程从哪个语言入手比较好?

自学编程时选择哪个语言作为起点&#xff0c;仍然取决于你的个人兴趣、学习目标和职业规划。希望以下建议可以帮到你。 Python&#xff1a; 如果你对数据分析、机器学习、人工智能、Web 开发或自动化脚本编写等领域感兴趣&#xff0c;Python 是一个非常好的起点。它的语法简洁…

Charles 抓包工具的使用

Charles 是一个网络抓包工具&#xff0c;我们可以用它抓取 APP 运行过程中产生的所有请求内容和响应内容&#xff0c;这和在浏览器开发者工具的 Network 面板中看到网页产生的内容是一样的道理 Charles , Fiddler 等都是非常强大的 HTTP 抓包软件&#xff0c;功能基本类似&…

网站配置了https证书,但浏览器访问时却访问了http

是由于缺少强制将 HTTP 请求重定向到 HTTPS 的规则 # HTTP 到 HTTPS 重定向配置 server {listen 80;server_name www.xlqd.site xlqd.site;return 301 https://$host$request_uri; } # 那么你原来的server块就要删除 listen 80;

Linux系统之部署轻量级Markdown文本编辑器

Linux系统之部署轻量级Markdown文本编辑器 一、项目介绍1.1 项目简介1.2 使用方法 二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查系统版本3.2 检查系统内核版本3.3 检查软件源 四、安装Apache24.1 安装Apache2软件4.2 启动apache2服务4.3 查看ap…

【Nginx】Nginx 安装(平滑升级和回滚)

一、 Nginx 概述 Nginx 介绍 Nginx &#xff1a; engine X &#xff0c; 2002 年开发&#xff0c;分为社区版和商业版 (nginx plus ) 2019 年 3 月 11 日 F5 Networks 6.7 亿美元的价格收购 Nginx 是免费的、开源的、高性能的 HTTP 和反向代理服务器、邮件代理服务器、以…

【word】修改图名/表名/公式编号后快速更新交叉引用的内容;交叉引用的字体不跟随正文如何解决

本文解决两个问题&#xff0c;不是什么特别正规的方法&#xff0c;主打一个迅速且通用。 问题描述 修改图名/表名/方程编号后快速更新交叉引用的内容 假设我们现在word文档中某处用了交叉引用。显然&#xff0c;图 1两个字颜色更深&#xff0c;就是我交叉引用的地方。 由于某…

贝莱德与摩根大通的最新季度持仓分析

近期&#xff0c;华尔街的两大投资巨头贝莱德和摩根大通公布了其2024年第二季度的13F报告&#xff0c;揭示了他们在投资组合上的最新动向。通过分析这些持仓数据&#xff0c;我们可以更清楚地了解这些顶级投资机构的投资策略和市场偏好。 贝莱德的科技巨头与能源投资 根据贝莱…

SpringBoot教程(二十二) | SpringBoot实现分布式定时任务之elastic-job

SpringBoot教程&#xff08;二十二&#xff09; | SpringBoot实现分布式定时任务之elastic-job 简介前置条件&#xff1a;需要ZooKeeper配合1、引入相关依赖2、application.yml中配置注册中心和作业调度巨坑&#xff08;配置修改无效&#xff09;3、job实例4、ElasticJob-UI监控…

网络编程-网络基础

IO进程: 进程和进程之间的通信 - 信号 信号量 消息队列 有名管道 无名管道 共享内存 套接字 套接字: 不同主机 不同操作系统之间的 进程通信 干什么: 实现无线 局域网&#xff1a;同一局域网下IP网段一致 IP地址 1) IP地址 是 网络中的 主机的标识, 本质是二进制数字。 2…

37_DC-5靶机渗透测试、nmap使用、kail漏洞库使用、系统提权、反弹shell到kali、留后门、蚁剑连接webshell、文件包含漏洞利用、NC用法

环境准备 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/dc-5,314/ 百度网盘&#xff1a;https://pan.baidu.com/s/1lqFMjoqQpIl4DA-Amb00pA?pwd9LJY 攻击机&#xff1a;kali&#xff08;192.168.58.130&#xff0c;IP是各自不同的&#xff09; 靶机&#xff1…

SystemUI手势操作隐藏显示导航栏

在Android 12中&#xff0c;通过SystemUI手势操作来隐藏和显示导航栏主要涉及对系统UI的定制和编程控制。以下是一些实现这一功能的方法&#xff1a; 默认是隐藏 向上滑动 第一类. 使用WindowInsetsController Android 12引入了一个新的WindowInsetsController类&#xff0c;它…

【数据分享】1999—2022年地级市地区生产总值及一二三产构成数据(Shp/Excel格式)

在之前的文章中&#xff0c;我们分享过基于2000-2023年《中国城市统计年鉴》整理的1999-2022年地级市的人口相关数据、各类用地面积数据、污染物排放和环境治理相关数据、房地产投资情况和商品房销售面积、社会消费品零售总额和年末金融机构存贷款余额、一般公共预算收支状况、…