matlab 获取d435深度图像,realsense D435I获取RGB图、深度图和左右图

2023-05-16

1 importpyrealsense2 as rs2 importnumpy as np3 importcv24

5 pipeline =rs.pipeline()6

7 config =rs.config()8

9 config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 15) #10、15或者30可选,20或者25会报错,其他帧率未尝试

10 config.enable_stream(rs.stream.infrared, 1, 640, 480, rs.format.y8, 15)11 config.enable_stream(rs.stream.infrared, 2, 640, 480, rs.format.y8, 15)12 config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 15)13

14 profile =pipeline.start(config)15

16 #Getting the depth sensor‘s depth scale (see rs-align example for explanation)

17 depth_sensor =profile.get_device().first_depth_sensor()18 depth_scale =depth_sensor.get_depth_scale()19 print("Depth Scale is:", depth_scale)20

21 clipping_distance_in_meters = 1 #1 meter

22 clipping_distance = clipping_distance_in_meters /depth_scale23

24 #Create an align object

25 #rs.align allows us to perform alignment of depth frames to others frames

26 #The "align_to" is the stream type to which we plan to align depth frames.

27 align_to =rs.stream.color28 align =rs.align(align_to)29

30

31 try:32 whileTrue:33 frames =pipeline.wait_for_frames()34

35 #Align the depth frame to color frame

36 aligned_frames =align.process(frames)37 #Get aligned frames

38 aligned_depth_frame = aligned_frames.get_depth_frame() #aligned_depth_frame is a 640x480 depth image

39 if notaligned_depth_frame:40 continue

41 depth_frame =np.asanyarray(aligned_depth_frame.get_data())42 #将深度图转化为伪彩色图方便观看

43 depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_frame, alpha=0.03), cv2.COLORMAP_JET)44 cv2.imshow(‘1 depth‘, depth_colormap)45

46 #color frames

47 color_frame =aligned_frames.get_color_frame()48 if notcolor_frame:49 continue

50 color_frame =np.asanyarray(color_frame.get_data())51 cv2.imshow(‘2 color‘, color_frame)52

53 #left frames

54 left_frame = frames.get_infrared_frame(1)55 if notleft_frame:56 continue

57 left_frame =np.asanyarray(left_frame.get_data())58 cv2.imshow(‘3 left_frame‘, left_frame)59

60 #right frames

61 right_frame = frames.get_infrared_frame(2)62 if notright_frame:63 continue

64 right_frame =np.asanyarray(right_frame.get_data())65 cv2.imshow(‘4 right_frame‘, right_frame)66

67 c = cv2.waitKey(1)68

69

70

71 #如果按下ESC则关闭窗口(ESC的ascii码为27),同时跳出循环

72 if c == 27:73 cv2.destroyAllWindows()74 break

75

76 finally:77 #Stop streaming

78 pipeline.stop()79

80 #深度图上色参考https://github.com/IntelRealSense/librealsense/blob/jupyter/notebooks/distance_to_object.ipynb

81 #对齐参考:https://github.com/IntelRealSense/librealsense/blob/master/wrappers/python/examples/align-depth2color.py

82 #左右图获取参考https://blog.csdn.net/Hanghang_/article/details/102489762

83 #其他参考https://blog.csdn.net/Dontla/article/details/102701680

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab 获取d435深度图像,realsense D435I获取RGB图、深度图和左右图 的相关文章

  • 两个 y 轴与相同的 x 轴[重复]

    这个问题在这里已经有答案了 可能的重复 在单个图中绘制 4 条曲线 具有 3 个 y 轴 https stackoverflow com questions 1719048 plotting 4 curves in a single plo
  • Matlab - 如果值包含xxx,则删除元胞数组中的行

    在 Matlab 中 如何删除包含变量字符串的元胞数组中的元胞 假设我的元胞数组是 C svnTrunk RadarLib radarlb utilities scatteredInterpolant m C svnTrunk RadarL
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 为什么旋转 3D 点云后顶点法线会翻转?

    我有两个人脸 3D 点云样本 蓝色点云表示目标面 红色点云表示模板 下图显示目标面和模板面在不同方向上对齐 目标面大致沿 x 轴 模板面大致沿 y 轴 Figure 1 The region around the nose is displ
  • Matlab 字段名索引[重复]

    这个问题在这里已经有答案了 所以我有一个包含多个表的元胞数组 我试图访问表的第一个列名称 c table1 table2 table3 以下两行都给了我错误 fieldnames c 1 1 fieldnames c 1 1 Error i
  • Matlab没有优化以下内容吗?

    我有一个很长的向量 1xrv 和一个很长的向量w1xs 和一个矩阵Arxs 它是稀疏的 但维度非常大 我期望 Matlab 对以下内容进行优化 这样我就不会遇到内存问题 A v w 但看起来 Matlab 实际上是在尝试生成完整的v w矩阵
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • 两个向量之间的欧氏距离(单行矩阵)

    我有两个向量 单行矩阵 假设我们已经知道长度len A x1 x2 x3 x4 x5 B y1 y2 y3 y4 y5 计算它们之间的欧几里德距离最快的方法是什么 我的第一次尝试是 diff A B sum 0 for column 1 l
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • 黑白随机着色的六角格子

    我正在尝试绘制一个 10 000 x 10 000 随机半黑半白的六边形格子 我不知道如何将该格子的六边形随机填充为黑色和白色 这是我真正想要从这段代码中得到的示例 但我无法做到 https i stack imgur com RkdCw
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平
  • 如何使用 MATLAB 的 substruct 函数创建表示使用“end”的引用的结构?

    我想使用substruct http www mathworks com help matlab ref substruct html函数创建一个结构体以供使用subsref 目的是使用索引字符串subsref而不是通常的 符号 因为我正在
  • @(t)在Matlab中是什么意思? [复制]

    这个问题在这里已经有答案了 正如标题所示 考虑到下面的上下文 t 在 Matlab 中到底意味着什么 computeNumericalGradient 是一个函数 cofiCostFunc 也是一个接受一堆参数的函数 问题是 t 对 cof
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标
  • 如何在MATLAB中显示由三个矩阵表示的图像?

    我有 3 个相同大小的 2D 矩阵 假设 200 行和 300 列 每个矩阵代表三种 基本 颜色 红色 绿色和蓝色 之一的值 矩阵的值可以在 0 到 255 之间 现在我想组合这些矩阵以将它们显示为彩色图像 200 x 300 像素 我怎样
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • 从动态 Java 类路径导入 Java 类时出现 Matlab 编译器 MCC 错误

    我怎样才能得到mcc识别来自用户提供的 Java 库的导入 还是简单地忽略无法解析的导入 我有一个使用 Matlab 编译器构建的 Matlab 代码库 但构建正在中断 因为mcc遇到的时候会报错importMatlab 动态类路径上的 J

随机推荐