怎么编写网站,阳江哪里做网站,wordpress取消categore,网站更新步骤以下是英特尔 RealSense、Stereolabs ZED 和奥比中光Astra几款相机的详细对比#xff0c;包括参数、性能以及二次开发等支持#xff0c;附带代码示例。
详细信息对比和二次开发示例
1. 英特尔 RealSense (例如 D435/D455)
深度技术#xff1a;立体视觉 红外投影分辨率包括参数、性能以及二次开发等支持附带代码示例。
详细信息对比和二次开发示例
1. 英特尔 RealSense (例如 D435/D455)
深度技术立体视觉 红外投影分辨率 D435: 1280x720 30fpsD455: 1920x1080 30fps 工作范围0.2 米到 10 米视场角 (FOV)宽度 86°高度 57°通讯接口USB 3.0SDK 支持 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 iostreamint 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, well just run indefinitely}return 0;
}2. ZED (Stereolabs)
深度技术立体视觉 IMU分辨率 ZED 2: 4416x1242 15fps720p模式约 60fps 工作范围0.5 米到 20 米视场角 (FOV)水平 110°垂直 75°通讯接口USB 3.0SDK 支持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.hppint 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 30fpsAstra Pro: 1280x720 30fps 工作范围0.4 米到 8 米视场角 (FOV)水平 60°垂直 49°通讯接口USB 2.0 / USB 3.0SDK 支持奥比中光 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(), dtypenp.uint16)color_data np.frombuffer(color_frame.get_buffer_as_uint8(), dtypenp.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 iostreamint 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.0SDKIntel 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 映射。奥比中光: 智能家居、互动游戏。
总结
以上是对三种不同厂家相机的基本信息对比及二次开发示例可作为小白简单了解和熟悉。不同的项目需求可以选择不同的相机根据具体应用场景进行开发。