当前位置: 首页 > news >正文

RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用

以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比,包括参数、性能以及二次开发等支持,附带代码示例。

详细信息对比和二次开发示例

1. 英特尔 RealSense (例如 D435/D455)

  • 深度技术:立体视觉 + 红外投影
  • 分辨率
    • D435: 1280x720 @ 30fps
    • D455: 1920x1080 @ 30fps
  • 工作范围:0.2 米到 10 米
  • 视场角 (FOV):宽度 86°,高度 57°
  • 通讯接口:USB 3.0
  • SDK 支持: Intel RealSense SDK
  • 二次开发支持:C++, Python, ROS 等
  • 安装依赖
pip install pyrealsense2

代码示例(Python)

import pyrealsense2 as rs
import numpy as np
import cv2# 创建管道
pipeline = rs.pipeline()# 配置流
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)# 启动流
pipeline.start(config)try:while True:frames = pipeline.wait_for_frames()depth_frame = frames.get_depth_frame()color_frame = frames.get_color_frame()if not depth_frame or not color_frame:continue# 将帧转换为numpy数组depth_image = np.asanyarray(depth_frame.get_data())color_image = np.asanyarray(color_frame.get_data())# 显示图像cv2.imshow('Color', color_image)cv2.imshow('Depth', depth_image)if cv2.waitKey(1) & 0xFF == ord('q'):break
finally:pipeline.stop()cv2.destroyAllWindows()

代码示例(C++)

#include <librealsense2/rs.hpp> // Include RealSense Cross Platform API
#include <iostream>int main() {// Create a RealSense pipeliners2::pipeline p;// Start the pipeline with default configurationp.start();while (true) {// Wait for a new framers2::frameset frames = p.wait_for_frames();// Get the depth framers2::depth_frame depth = frames.get_depth_frame();// Get the color framers2::frame color = frames.get_color_frame();if (!depth || !color) continue;// Get the dimensions of the imageint width = depth.get_width();int height = depth.get_height();std::cout << "Depth Frame: " << width << "x" << height << std::endl;// Process the images (for demonstration, we just print the size)// Here you can add your own image processing code// Break the loop on a specific condition (e.g., pressing a key)// For this example, we'll just run indefinitely}return 0;
}

2. ZED (Stereolabs)

  • 深度技术:立体视觉 + IMU
  • 分辨率
    • ZED 2: 4416x1242 @ 15fps(720p模式约 60fps)
  • 工作范围:0.5 米到 20 米
  • 视场角 (FOV):水平 110°,垂直 75°
  • 通讯接口:USB 3.0
  • SDK 支持:ZED SDK
  • 二次开发支持:C++, Python, Unity, ROS 等
    安装依赖
    参考 ZED SDK 安装指南

代码示例(Python)

import sys
import time
import pyzed.sl as sl# 创建相机对象
zed = sl.Camera()# 配置相机
init_params = sl.InitParameters()
init_params.camera_resolution = sl.RESOLUTION.HD720
init_params.depth_mode = sl.DEPTH_MODE.PERFORMANCE
zed.open(init_params)while True:# 捕获图像if zed.grab() == sl.ERROR_CODE.SUCCESS:image = sl.Mat()zed.retrieve_image(image, sl.VIEW.COLOR)depth = sl.Mat()zed.retrieve_measure(depth, sl.MEASURE.DEPTH)# 获取图像数据image_ocv = image.get_data()depth_ocv = depth.get_data()# 显示图像cv2.imshow("ZED Color", image_ocv)cv2.imshow("ZED Depth", depth_ocv)if cv2.waitKey(1) & 0xFF == ord('q'):break# 关闭相机
zed.close()

代码示例(C++)

#include <sl/Camera.hpp>int main(int argc, char **argv) {sl::Camera zed;sl::InitParameters init_params;init_params.camera_resolution = sl::RESOLUTION::HD720;init_params.depth_mode = sl::DEPTH_MODE::PERFORMANCE;// 开始相机if (zed.open(init_params) != sl::ERROR_CODE::SUCCESS) {std::cerr << "Error opening ZED camera." << std::endl;return EXIT_FAILURE;}sl::Mat image, depth;while (true) {if (zed.grab() == sl::ERROR_CODE::SUCCESS) {zed.retrieveImage(image, sl::VIEW::LEFT);zed.retrieveMeasure(depth, sl::MEASURE::DEPTH);// 显示图像和深度cv::imshow("ZED Image", image.getCvMat());cv::imshow("ZED Depth", depth.getCvMat());if (cv::waitKey(1) == 'q') break;}}zed.close();return EXIT_SUCCESS;
}

3. 奥比中光(Orbbec)

  • 深度技术:结构光
  • 分辨率
    • Astra: 640x480 @ 30fps
    • Astra Pro: 1280x720 @ 30fps
  • 工作范围:0.4 米到 8 米
  • 视场角 (FOV):水平 60°,垂直 49°
  • 通讯接口:USB 2.0 / USB 3.0
  • SDK 支持:奥比中光 SDK
  • 二次开发支持:C++, C#, Python, Unity 等
  • 安装依赖
    参考 奥比中光 SDK 安装指南

代码示例(Python)

import numpy as np
import cv2
import openni2# 初始化
openni2.initialize()
dev = openni2.Device.open_any()
depth_stream = dev.create_depth_stream()
color_stream = dev.create_color_stream()# 开启流
depth_stream.start()
color_stream.start()while True:depth_frame = depth_stream.read_frame()color_frame = color_stream.read_frame()depth_data = np.frombuffer(depth_frame.get_buffer_as_uint16(), dtype=np.uint16)color_data = np.frombuffer(color_frame.get_buffer_as_uint8(), dtype=np.uint8)# 处理深度数据depth_image = depth_data.reshape((depth_frame.height, depth_frame.width))color_image = color_data.reshape((color_frame.height, color_frame.width, 3))# 显示图像cv2.imshow('Color Image', color_image)cv2.imshow('Depth Image', depth_image)if cv2.waitKey(1) & 0xFF == ord('q'):break# 停止流
depth_stream.stop()
color_stream.stop()
openni2.unload()

代码示例(C++)

#include <OpenNI.h>
#include <iostream>int main() {openni::OpenNI::initialize();openni::Device device;if (device.open(openni::ANY_DEVICE) != openni::STATUS_OK) {std::cerr << "Could not open device." << std::endl;return -1;}openni::VideoStream depthStream, colorStream;depthStream.create(device, openni::SENSOR_DEPTH);colorStream.create(device, openni::SENSOR_COLOR);depthStream.start();colorStream.start();openni::VideoFrameRef depthFrame, colorFrame;while (true) {depthStream.readFrame(&depthFrame);colorStream.readFrame(&colorFrame);// 显示深度和颜色// 需添加显示代码 (如使用 OpenCV)if (/* 检测退出条件 */) break;}depthStream.stop();colorStream.stop();device.close();openni::OpenNI::shutdown();return 0;
}

综合参数对比

参数英特尔 RealSenseStereolabs ZED奥比中光
深度技术立体视觉 + 红外投影立体视觉 + IMU结构光
分辨率D435: 1280x720; D455: 1920x1080ZED 2: 4416x1242Astra: 640x480; Pro: 1280x720
工作范围0.2 米到 10 米0.5 米到 20 米0.4 米到 8 米
视场角 (FOV)86° x 57°110° x 75°60° x 49°
通讯接口USB 3.0USB 3.0USB 2.0 / USB 3.0
SDKIntel RealSense SDKZED SDK奥比中光 SDK
二次开发支持丰富的文档与社区详细API与示例文档与多平台支持
参数Intel RealSense D435iZED Mini奥比中光 Astra Pro
分辨率1280x720 (RGB), 640x480 (Depth)1280x720 (RGB), 720p (Depth)1280x720 (RGB), 640x480 (Depth)
深度范围0.3m - 10m0.3m - 20m0.5m - 8m
帧率30 fps (depth + RGB)60 fps (depth + RGB)30 fps (depth + RGB)
通讯接口USB 3.0USB 3.0USB 3.0
视场角69.4° x 42.5°110° x 80°90° x 60°

综合性能对比

  • 计算能力:

    • RealSense 配备 IMU,适合移动设备和机器人。
    • ZED 提供高精度深度数据和较大的视场角,适合 AR/VR 应用。
    • 奥比中光专注于深度图像和手势识别等应用,适合人机交互。
  • 使用场景:

    • RealSense: 机器人视觉、手势识别。
    • ZED: 虚拟现实、增强现实、3D 映射。
    • 奥比中光: 智能家居、互动游戏。

总结

以上是对三种不同厂家相机的基本信息对比及二次开发示例,可作为小白简单了解和熟悉。不同的项目需求可以选择不同的相机,根据具体应用场景进行开发。

相关文章:

RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用

以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比&#xff0c;包括参数、性能以及二次开发等支持&#xff0c;附带代码示例。 详细信息对比和二次开发示例 1. 英特尔 RealSense (例如 D435/D455) 深度技术&#xff1a;立体视觉 红外投影分辨率&a…...

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍

启动Ntopng服务之前需要先启动redis服务&#xff0c;因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数&#xff1a; -d 将 Ntopng 进程放入后台执行。默认情况下&#xff0c;Ntop 在前台运行。 -u 指定启动Ntopng执行的用户&#xff0c;默认为…...

vector的模拟实现以及oj题(2)

前言 上篇博客介绍了大部分vector的接口&#xff0c;其中包括begin()、end()、const begin()、 const end()、size、capacity、reserve、empty、push_back、pop_back、insert、operator[]&#xff0c;这篇博客将介绍剩下的部分接口&#xff0c;以及一些oj题解法和思路。 vect…...

数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程

随着大数据时代的到来&#xff0c;数据已经成为企业的核心资产之一。在过去几十年间&#xff0c;数据技术也随之不断演进&#xff0c;从早期的数据仓库到近年来热门的数据中台&#xff0c;再到正在快速发展的数据飞轮概念&#xff0c;每一步都是技术革新的体现。 一、数据仓库&…...

JAVA JDK华为云镜像下载,速度很快

直达下载地址 https://repo.huaweicloud.com/java/jdk/ https://repo.huaweicloud.com/java/jdk/欢迎各位收藏享用&#xff01;&#xff01;&#xff01;...

【RKNN系列】官方函数:querystring

querystring 函数 功能 查询获取当前芯片平台RGA硬件版本与功能支持信息&#xff0c;以字符串的形式返回。 语法 std::string querystring(int query_type);参数 query_type: 要查询的 RGA 信息类型&#xff08;整数&#xff09; 描述 这个函数用于获取特定类型的 RGA 信…...

Stable Diffusion零基础学习

Stable Diffusion学习笔记TOP14 _插件篇之ControlNet功能篇 ControlNet目前支持的10多种预处理器&#xff0c;根据数据检测种类可分为两种类型&#xff1a; 1、功能型&#xff1a;拥有着不同的能力 2、构图型&#xff1a;控制着SD扩散图形的构图规则 部分未编写预处理器的功…...

C#基于SkiaSharp实现印章管理(9)

将印章设计模块设计的印章保存为图片并集中存放在指定文件夹内。新建印章应用项目&#xff0c;主要实现对图片及PDF文件加盖印章功能。本文实现给图片加盖印章功能。   给图片加盖印章的逻辑比较简单&#xff0c;就是将印章图片绘制到图片指定位置&#xff0c;使用SKControl控…...

研究生如何利用ChatGPT帮助开展日常科研工作?

小白可做&#xff01;全自动AI影视解说一键成片剪辑工具https://docs.qq.com/doc/DYnl6d0FLdHp0V2ll 作为当代研究生&#xff0c;科研工作三部曲----读文献、开组会、数据分析。无论哪一个&#xff0c;都令研究生们倍感头疼&#xff0c;简直就是梦魇。每当看到导师发来的消息&a…...

汽车零部件开发流程关键阶段

目录 1、定点阶段 1.1、定点前的准备工作 1.2、定点决策过程 1.3、定点后的工作交接 2、A样阶段&#xff1a;设计验证与基本功能实现 2.1、样件制作&#xff1a;从设计图纸到实物转化 2.2、功能测试&#xff1a;初步验证与性能评估 2.3、评估与优化&#xff1a;A样阶段…...

Magnific推V2图像生成服务 可直出4K图像

人工智能 - Ai工具集 - 集合全球ai人工智能软件的工具箱网站 近日&#xff0c;AI图像处理领域再迎重大突破&#xff0c;Magnific推出的V2图像生成服务引领行业潮流。此次升级&#xff0c;不仅使Magnific从高端软件跻身为顶级AI图像生成器&#xff0c;更彰显了其在技术创新及用…...

E9OA解决文档附件没有关联文档正文问题

业务背景&#xff1a; OA通知流程已经提交后在审批中发现漏上传了文档附件。临时放开审批结点文档附件编辑&#xff0c;请审批结点领导将附件上传后再审批。最终在流程中查看可以看到正文和附件&#xff0c;但是在通知文档正文中没有关联文档附件&#xff0c;导致大多数人员在通…...

EasyExcel日常使用总结

文章目录 概要引入依赖常用操作方法折叠或隐藏列折叠或隐藏行单元格样式单行表头设置多行表头设置多个sheet写入自动列宽 概要 EasyExcel日常使用总结。 引入依赖 引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</a…...

人只活一次,活出一道光吧

人只活一次, 你怎么舍得让自己的短暂的一生是丑陋的, 你怎么舍得让自己短暂的一生, 只是在往下坠落, 即便是坠落, 也应该具有落日般的华丽吧, 你会漫漫的活成一束光, 谁若接近你, 就是接近光, 【人人都想向上&#xff0c;人人都想老而不衰&#xff0c;但现实是当你想活成一道光…...

sqli-labs:1~16(sql注入点稳定判断语句、全回显半回显报错回显无回显利用思路、sql注入tips)

怎么验证sql注入的存在呢&#xff1f; 首先&#xff0c;双引号单引号注入&#xff0c;看看有没有报错&#xff0c;或者与正常参数的区别&#xff0c;有报错说明大概率可以注入成功&#xff0c;但是&#xff0c;很可能单引号和双引号测试可能没有报错回显&#xff0c;或者与正常…...

springboot农产品销售信息微信小程序—计算机毕业设计源码35557

摘 要 在信息飞速发展的今天&#xff0c;网络已成为人们重要的信息交流平台。每天都有大量的农产品需要通过网络发布&#xff0c;为此&#xff0c;本人开发了一个基于springboot农产品销售信息微信小程序。 对于本农产品销售信息系统的设计来说&#xff0c;它主要是采用后台采…...

HuggingChat macOS 版现已发布

Hugging Face 的开源聊天应用程序 Hugging Chat&#xff0c;现已推出适用于 macOS 的版本。 主要特点 Hugging Chat macOS 版本具有以下亮点: 强大的模型支持: 用户可以一键访问多个顶尖的开源大语言模型&#xff0c;包括 Qwen 2.5 72B、Command R、Phi 3.5、Mistral 12B 等等&…...

C#:动态为Object对象添加新属性的方法

在C#中&#xff0c;object 类型本身是一个基础类型&#xff0c;它不支持直接添加属性&#xff0c;因为 object 并不具备定义属性的能力&#xff08;它不支持任何接口或基类中的属性&#xff0c;除非通过类型转换&#xff09;。然而&#xff0c;有几种方法可以在运行时模拟给对象…...

我常用的几个Python金融数据接口库,非常好用~

在金融分析和量化投资领域&#xff0c;Python已成为最受欢迎的编程语言之一。这主要归功于其丰富的库和框架&#xff0c;它们提供了处理和分析金融数据所需的工具&#xff0c;而且还有大量免费实时的金融股票数据供你分析研究。 以下是六个最常用的Python金融数据接口库&#x…...

【机器学习】ID3、C4.5、CART 算法

目录 常见的决策树算法 1. ID3 2. C4.5 3. CART 决策树的优缺点 优点&#xff1a; 缺点&#xff1a; 决策树的优化 常见的决策树算法 1. ID3 ID3&#xff08;Iterative Dichotomiser 3&#xff09;算法使用信息增益作为特征选择的标准。它是一种贪心算法&#xff0c;信…...

告别Socket编程烦恼:用libhv的UdpServer类5分钟搞定一个C++回显服务

告别Socket编程烦恼&#xff1a;用libhv的UdpServer类5分钟搞定一个C回显服务 在C网络编程领域&#xff0c;原生Socket API的复杂性一直是开发者面临的痛点。从繁琐的地址结构体处理到易错的IO多路复用机制&#xff0c;传统方法往往需要数百行代码才能实现一个基础功能。而libh…...

手把手调SerDes眼图:从FFE系数到示波器实测,看懂那个‘翘起来’的信号

手把手调SerDes眼图&#xff1a;从FFE系数到示波器实测&#xff0c;看懂那个‘翘起来’的信号 在高速数字电路设计中&#xff0c;SerDes&#xff08;串行器/解串器&#xff09;技术已经成为现代通信系统的核心。当信号速率突破10Gbps大关时&#xff0c;工程师们常常会在示波器上…...

路由器市场新机遇:从硬件到场景化解决方案的演进

1. 项目概述&#xff1a;一个被低估的“家门口”战场聊到路由器&#xff0c;很多人的第一反应可能是“运营商送的”、“能用就行”。确实&#xff0c;在过去很长一段时间里&#xff0c;家用Wi-Fi设备是一个典型的“黑盒”产品&#xff0c;用户对其性能、功能和体验的感知非常模…...

5分钟终极指南:永久免费使用Cursor Pro功能的完整解决方案

5分钟终极指南&#xff1a;永久免费使用Cursor Pro功能的完整解决方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your…...

Git报‘dubious ownership’错误?除了safe.directory,还有这3种更灵活的权限管理姿势

Git权限管理进阶&#xff1a;超越safe.directory的四种灵活解决方案 当你从团队仓库克隆代码到本地&#xff0c;正准备提交修改时&#xff0c;突然遭遇dubious ownership错误——这种场景对中高级开发者而言绝不陌生。Git的安全机制本意是保护项目免受未授权修改&#xff0c;但…...

游戏后台记录器开发:从低开销捕获到硬件编码的工程实践

1. 项目概述&#xff1a;一个为游戏玩家设计的“后台记录器”如果你是一名资深游戏玩家&#xff0c;或者正在从事游戏相关的开发、测试、数据分析工作&#xff0c;那么你很可能遇到过这样的场景&#xff1a;在《艾尔登法环》里被某个Boss虐了上百次&#xff0c;却记不清每次失败…...

为什么你的“--style raw”输出毫无银盐颗粒感?深度解析Midjourney V6渲染管线中未公开的卤化银模拟层

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;卤化银模拟层的光学隐喻与历史语境 在数字成像技术蓬勃发展的今天&#xff0c;回溯胶片时代的物理成像机制&#xff0c;不仅具有技术考古价值&#xff0c;更构成理解当代计算摄影底层隐喻的关键支点。“…...

VUE+webrtc-streamer实战:从零搭建跨平台监控视频实时播放系统

1. 为什么选择VUEwebrtc-streamer这套方案 第一次接触监控视频实时播放需求时&#xff0c;我花了整整两周时间对比各种技术方案。市面上常见的方案比如FFmpeg转码WebSocket、RTMP协议推流、HLS切片播放都试了个遍&#xff0c;最后发现webrtc-streamer这个神器简直是监控领域的&…...

企业如何保护内部数据安全,防止信息泄密?

很多企业一提数据防泄密&#xff0c;第一反应就是上 DLP、上加密、上审计。但真正做过项目的人都知道&#xff0c;事情没这么简单。数据泄露大多数时候不是发生在机房&#xff0c;也不是因为多高级的攻击&#xff0c;而是发生在员工每天最普通的操作里。客户资料发错了&#xf…...

LangGraph Agent 开发指南(9~工具 Tools)

一、什么是工具&#xff1f; 1.1 通俗解释 想象你有一个智能助手&#xff1a; 没有工具&#xff1a;你: 帮我查一下北京明天的天气助手: 抱歉&#xff0c;我没有联网功能&#xff0c;无法查询实时天气有工具&#xff1a;你: 帮我查一下北京明天的天气助手: 好的&#xff0c;…...