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

news2024/12/24 22:38:25

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.coloradmin.cn/o/2043016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将pytorch配置到jupyter里面(个人踩坑向)

一开始跟着大部分博主的创建一块虚拟环境和打开虚拟环境都应该没啥问题 这个就是创建一个python为3.6的环境(你愿意创建啥环境就啥环境,但是3.6比较香,我之前傻不愣登的弄了个3.11(想配套我自己的python)人家说没有&am…

接口优化笔记

索引 添加索引 where条件的关键自动或者order by后面的排序字段可以添加索引加速查询 索引只能通过删除新增进行修改,无法直接修改。 # 查看表的索引 show index from table_name; show create table table_name; # 添加索引 alter table table_name add index …

回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型

回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型 文章目录 前言回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型 一、HGS-CNN-LSTM-Attention模型1. 模型组件概述1.1. 海鸥优化算法&…

日撸Java三百行(day24:二叉树的建立)

目录 一、分析准备 二、代码实现 1.方法创建 2.数据测试 3.完整的程序代码 总结 一、分析准备 在日撸Java三百行(day22:二叉树的存储)中,我们学习的是如何将链表二叉树转换为顺序表二叉树进行存储,而今天我们要…

厂家揭秘:劳保鞋里的防砸黑科技,这些材料你了解多少?

在工业生产的前沿阵地,安全生产始终是企业发展的基石,也是每一位劳动者的头等大事。在繁忙的生产线上,一双看似普通的劳保鞋,实则蕴含着保护我们双脚免受意外伤害的重要科技——防砸材料。今天,百华小编就来和大家盘点…

大模型RAG企业级项目实战:ChatDoc与文件聊天交互完整版代码

大模型RAG企业级项目实战:手把手带你搭建一套属于你的RAG系统 完整的 RAG 应用流程主要包含两个阶段: 数据准备阶段:(1)数据提取–> (2)分块(Chunking)–> &…

五、1 算数操作符位操作符

1、算数操作符 (1)“ / ”得到一个整数商,不包含余数 进行浮点数除法,操作符两端至少有一个浮点数 (2)“ % ”取模,得到余数 两端必须为整数 2、位操作符(只适用于整型&#xff…

Linux 中的同步机制——rwsem

代码基于:Kernel 6.6 0. 前言 读写信号量的原理与读写锁类似,读写信号量归根到底是 “信号量”,读写锁归根到底是 “自旋锁”,而信号量与自旋锁的区别一个可以睡眠,一个只能自旋。 读写信号量原理: 允许…

Spring Data JPA 自动创建时间的相关注解和用法

以Springboot项目为例 在实体类上加上注解 EntityListeners(AuditingEntityListener.class)在相应的字段上添加对应的时间注解 LastModifiedDate 和 CreatedDateApplication启动类中添加注解 EnableJpaAuditing

动环监控是什么?没有它机房可能发生宕机风险!

在大数据时代,计算机和服务器管理着大量的数据,无论是十几平米的小机房,还是几千平米的大机房,一旦宕机,就可能造成最大损失。因此,利用动环监控系统去进行实时监测和统一管理,就成为了非常重要…

【Linux】Linux软件包管理器 yum 和 Linux编辑器vim

目录 1. Linux 软件包管理器 yum1.1 什么是软件包1.2 windows 机器和远端的 Linux 机器互传文件1.3 查看软件包1.4 安装软件1.5 卸载软件1.6 yum源 2. Linux编辑器-vim2.1 vim三大模式2.2 vim正常模式命令集2.2 vim底行模式命令集2.3 多文件 3. 简单vim配置3.1 配置文件的位置 …

YOLOv5 目标检测算法

简介: 目标检测在生活中应用领域非常广泛,列如:道路违规抓拍、未戴口罩识别、工地未佩戴安全帽抓拍、厨房出现老鼠检测。 还可以用在游戏辅助外挂。以枪战为例,在游戏过程中时刻检测有没有人头出现。当检测到目标人头,…

a标签下载文件重命名(download)不生效

项目场景: 移动端使用 a 标签下载文件 问题描述 下载的文件使用 download 重命名不生效 APP 中接收数据代码: const link document.createElement(a) // 创建a标签link.style.display none // 使其隐藏link.href http://192.168.103.1:8080/factory/v…

操作系统内存管理技术详解

操作系统内存管理技术详解:第一部分 引言 操作系统作为计算机系统的核心组件,负责管理硬件资源、提供用户接口和运行应用程序。在操作系统的众多功能中,内存管理无疑是最为关键的技术之一。本文将深入探讨操作系统内存管理的背后技术&…

如何选择图片和视频

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何选择视频文件"相关的内容,本章回中将介绍如何混合选择图片和视频文件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我…

Android逆向题解-Illusion-难度6

jeb反编译 s 是用户输入,s1 是加密后flag: KuG_V9v(yGS 传入Native函数 CheckFlag IDA分析Native函数 注意这里有一个陷阱,CheckFlag有静态注册函数和动态注册函数,会执行动态注册的函数。 a2 93 只会走sub_1028 sub_102…

如何找IEEE论文中的作者指南(INFORMATION FOR AUTHORS)

文章目录 0.为什么需要作者指南1.进入所要发表期刊的官网并找到作者指南1.1百度直接搜索Transactions on Cybernetics1.2 点击About Journal进入并点击左下角Publication Details1.3 展开后点击Informations for author1.4 下载作者指南 2.结果显示 0.为什么需要作者指南 说明你…

STM32CubleMX创建FreeRtos工程教程,图文教程

前言:STM32CubeMX 是一个开发工具,它已经将 FreeRTOS 这个实时操作系统(RTOS)集成到其工具中。换句话说,通过 STM32CubeMX,可以非常方便地为 STM32 微控制器生成配置代码,其中包括对 FreeRTOS 的…

进阶SpringBoot之员工管理系统(5)展示员工列表和添加员工

Employee.java:模拟员工表 package com.demo.web.pojo;import lombok.Data; import lombok.NoArgsConstructor;import java.util.Date;//员工表 Data NoArgsConstructor public class Employee {private Integer id;private String lastName;private String email;…

第十五章 数据管理成熟度评估5分

15.0 语境关系图 活动: 计划评估活动(P)。进行成熟度评估(C)。拟定建议(D)。制定有针对性的改进计划(P)。 5. 重新评估成熟度(C) 应定期进行重新…