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

湘潭做网站口碑好磐石网络电子产品去什么网站做站点

湘潭做网站口碑好磐石网络,电子产品去什么网站做站点,wordpress结构,中级经济师考试题型📌 背景介绍 英特尔的 RealSense D435 是一款常用于 3D 视觉、深度测量与红外成像的相机。本篇文章将分享一个用于采集 D435 红外图像的完整 Python 脚本,并逐步解释代码逻辑,帮助你快速上手红外图像的采集与保存任务。 我们将实现的功能包括…

📌 背景介绍

英特尔的 RealSense D435 是一款常用于 3D 视觉、深度测量与红外成像的相机。本篇文章将分享一个用于采集 D435 红外图像的完整 Python 脚本,并逐步解释代码逻辑,帮助你快速上手红外图像的采集与保存任务。

我们将实现的功能包括:

  • 开启 RealSense 的左右红外传感器
  • 实时显示红外图像
  • 按时间戳保存红外图像
  • 可选开启/关闭红外投影器(IR Emitter)

🧠 脚本功能一览

以下是本脚本的主要功能模块:

  1. 创建数据保存目录
  2. 配置 RealSense 流与红外传感器
  3. 选择是否启用红外投影器
  4. 获取并显示左右红外图像
  5. 保存红外图像
  6. 按下 ESC 退出程序

🧱 脚本结构详解

import pyrealsense2 as rs
import numpy as np
import cv2
import os
import time

导入必要的库:

  • pyrealsense2: RealSense 官方 Python API
  • cv2: OpenCV 图像处理库
  • numpy: 数组处理
  • os, time: 用于文件操作与时间戳命名

1. 创建图像保存目录与配置红外投影器

save_dir = r"C:\Users\24605\Desktop\Realsense\Save_Img"
os.makedirs(save_dir, exist_ok=True)  # 如果目录不存在则创建
set_depth_sensor = 0  # 设置是否开启红外投影器(0关,1开)
  • 设置图像保存路径
  • set_depth_sensor 控制是否启用 D435 的红外投影器(用于主动投射红外光)

2. 配置并启动 RealSense 管道

pipeline = rs.pipeline()
config = rs.config()# 启用两个红外流(左:1,右:2)
config.enable_stream(rs.stream.infrared, 1, 1280, 720, rs.format.y8, 30)
config.enable_stream(rs.stream.infrared, 2, 1280, 720, rs.format.y8, 30)# 启动流
profile = pipeline.start(config)
  • 使用 RealSense 的管道式配置
  • 以 1280x720、30FPS 启用左右两个红外流

3. 控制红外投影器状态(IR Emitter)

device = profile.get_device()
depth_sensor = device.query_sensors()[0]if depth_sensor.supports(rs.option.emitter_enabled):depth_sensor.set_option(rs.option.emitter_enabled, set_depth_sensor) 
  • 获取设备传感器
  • 判断是否支持红外投影器控制
  • 设置其开关状态

4. 读取与展示红外图像帧

frames = pipeline.wait_for_frames()
ir_left = frames.get_infrared_frame(1)
ir_right = frames.get_infrared_frame(2)ir_left_img = np.asanyarray(ir_left.get_data())
ir_right_img = np.asanyarray(ir_right.get_data())cv2.imshow('IR Left', ir_left_img)
cv2.imshow('IR Right', ir_right_img)
  • 每一帧图像分别读取左、右红外图
  • 转换为 NumPy 数组并通过 OpenCV 显示

5. 自动保存图像

timestamp = time.strftime("%Y%m%d_%H%M%S")
cv2.imwrite(os.path.join(save_dir, f"ir_left_{timestamp}.png"), ir_left_img)
cv2.imwrite(os.path.join(save_dir, f"ir_right_{timestamp}.png"), ir_right_img)
  • 以时间戳命名并保存图像

6. 退出逻辑与资源释放

if cv2.waitKey(1) & 0xFF == 27:breakfinally:pipeline.stop()cv2.destroyAllWindows()
  • ESC 键退出
  • 停止数据流,关闭窗口,释放资源

✅ 运行效果

运行脚本后将看到两个窗口分别显示 左红外图像右红外图像,并在后台持续以时间戳保存 .png 文件。


💡 完整代码

import pyrealsense2 as rs
import numpy as np
import cv2
import os
import time"""
zjy_20250812
该脚本用以获取RealSense的红外相机数据(1)开启两个窗口,分别展示左右红外相机的数据(2)修改set_depth_sensor,配置是否启用红外投影器(0关1开)
"""# ====== 基础配置 ======
save_dir = r"C:\Users\24605\Desktop\Realsense\Save_Img"
os.makedirs(save_dir, exist_ok=True)  # 创建文件夹
set_depth_sensor = 0   # 0关1开# 1. 创建管道
pipeline = rs.pipeline()
config = rs.config()# 2. 启用红外流(左红外 + 右红外)
config.enable_stream(rs.stream.infrared, 1, 1280, 720, rs.format.y8, 30)  # 左红外
config.enable_stream(rs.stream.infrared, 2, 1280, 720, rs.format.y8, 30)  # 右红外# 3. 启动流
profile = pipeline.start(config)# 4. 关闭红外投影器(IR Emitter)
device = profile.get_device()
depth_sensor = device.query_sensors()[0]  # 一般第0个是深度传感器if depth_sensor.supports(rs.option.emitter_enabled):depth_sensor.set_option(rs.option.emitter_enabled, set_depth_sensor) if set_depth_sensor == 1:print("已开启红外投影器。")if set_depth_sensor == 0:print("已关闭红外投影器。")print("开始采集 D435 红外图像,按 ESC 退出...")try:while True:# 等待一帧数据frames = pipeline.wait_for_frames()ir_left = frames.get_infrared_frame(1)  # 左红外ir_right = frames.get_infrared_frame(2) # 右红外# 转成 numpy 数组ir_left_img = np.asanyarray(ir_left.get_data())ir_right_img = np.asanyarray(ir_right.get_data())# 显示cv2.imshow('IR Left', ir_left_img)cv2.imshow('IR Right', ir_right_img)# 保存文件(时间戳命名)timestamp = time.strftime("%Y%m%d_%H%M%S")cv2.imwrite(os.path.join(save_dir, f"ir_left_{timestamp}.png"), ir_left_img)cv2.imwrite(os.path.join(save_dir, f"ir_right_{timestamp}.png"), ir_right_img)# 按 ESC 退出if cv2.waitKey(1) & 0xFF == 27:breakfinally:pipeline.stop()cv2.destroyAllWindows()print("已停止采集并关闭窗口。")

📎 总结

这个脚本是使用 RealSense 采集左右红外图像的非常实用的起点。你可以基于它进一步扩展,例如:

  • 同步彩色图像与深度图像
  • 进行红外立体匹配计算深度
  • 用于医学、工业等领域的低光图像采集

欢迎大家试用并反馈问题或改进建议!

http://www.dtcms.com/a/583783.html

相关文章:

  • 深圳网站建设 设计卓越迈wordpress悬浮下拉
  • 全景效果图网站医院线上预约
  • 纺织网站制作123纺织网wordpress 表单附件
  • 做国外电影网站新网做网站怎么上传
  • 2_ 如何写一份详细的网站开发方案php网站开发权限管理
  • 东莞市手机网站建设多少钱深圳宣传片制作排名前十名
  • 禹城网站制作网站浏览器兼容性通用
  • 做网站和做阿里巴巴辽宁网站开发
  • auto 自动类型推导以及注意事项
  • 网站开发形成收入怎么做帐常州公司网站模板建站
  • 综合网页设计电商网站优化方案
  • 做推广哪家网站好做网站可以盈利吗
  • seo网站优化系统下载班级优化大师并安装
  • 3.4、Python-集合
  • 建设家具网站的目的及功能定位淘宝页面设计模板
  • 免费 个人 网站网站开发及技术
  • 网站建设与开发定制大学生asp网站开发的实训周
  • 运城盐湖区姚孟信通网站开发中心机机票网站建设
  • 【Java SE 基础学习打卡】03 计算机中数据的表示、存储与处理
  • 优质专业建设申报网站wordpress建站平台
  • 通辽网站建设tlyltd网站建设有趣小游戏
  • 徐州地区网站建设12306网站建设团队
  • 樱桃电视剧西瓜视频在线观看长沙网站seo收费标准
  • 亚马逊seo什么意思百度seo技术优化
  • 浏览器无法打开住房和建设网站最近国内重大新闻事件
  • 如何搭建自己的网站平台厦门市住房和城乡建设局网站
  • 以下属于网站的管理 更新 维护主页网址
  • 深圳快速网站制作哪家公司好制作网站的专业公司哪家好
  • 网站建设入账时进那个会计科目成都旅游公司哪家好
  • 建设手机网站的公司北京十大代理记账公司