使用 Intel RealSense 采集图片并制作机器视觉数据集(附代码)

本文章主要涉及以下工作:
   (1)讲述如何使用 Intel RealSense 相机采集RGB图像、深度图像、伪彩色化的深度图像以及 .npy 格式保存的深度数据。
   (2)采集到的图像可适用于制作目标检测、实例分割、语义分割等算法的自定义数据集。其中,目标检测YOLO算法的自定义数据集制作具体可参考 YOLO算法的自定义数据集制作及模型训练方法
   (3)关于 Intel RealSense官方提供的可视化软件 Intel RealSense Viewer,具体使用教程可参考 Intel RealSense Viewer 使用教程。下载地址为 Intel RealSense SDK
   (4)提供了相应的数据读取接口 Dataloader.py,类似于 pyrealsnese2 库的方式读取RGB图像以及深度图像。
   (5)提供了文件名批量修改接口 Rename.py,可以对采集到的数据批量修改文件名。
   (6)提供了项目的 Python 代码以及相应的使用文档。
如果文章有用,欢迎各位→点赞👏 + 收藏💞 + 留言🔔 😁🌹🌹
项目代码:Image-Capture-With-RealSense
如果项目代码有用,请给Github项目star一下,谢谢啦 😁🌹🌹

1. 采图 ( RealsenseColorImage.py )

(1) 操作步骤

  • 将RealSense相机通过数据线连接到电脑上。

  • 打开终端,在终端里输入以下命令,运行 RealsenseColorImage.py。具体参数含义请向后浏览。

    python RealsenseColorImage.py --image_format 0 --mode 0 --image_width 640 --image_height 480 --fps 30
    
  • 如果设置了 mode 为0,则为自动保存模式。若要开始,请使用英文输入法点击键盘的 S 键,若要中途暂停,则点击键盘的 W 键。

  • 如果设置了 mode 为1,则为手动保存模式。如果实时展示的图片中有想要保存的,请使用英文输入法点击键盘的 S 键保存。

  • 如果想要结束程序的运行,请使用英文输入法点击键盘的 Q 键结束程序。

(2) 命令行中的参数说明

  • path : 所有图片保存的根目录,如果此参数为空字符串,则将采集到的图片保存在当前目录下,以本地时间命名文件夹。若不为空,则在提供的路径内保存。如果提供的路径内已经有了之前保存的数据,则支持向后添加。
  • mode : 拍照模式,0表示自动保存,1表示手动保存
  • image_format : 图片保存的格式,0表示保存为.jpg格式,1表示保存为.png格式
  • image_width : 图片的宽度,此处建议选择像素大小为1280或者640
  • image_height : 图片的高度,此处建议选择像素大小为720或者480
  • fps : 相机拍摄的帧率

(3) 结果保存格式

在程序运行结束后,不同的图片将会保存在以下的目录结构中。

Year_Month_Day_Hour_Minute_Second/
   |——————DepthColorImages/
   |        └——————1.jpg
   |        └——————2.jpg  
   |        └——————3.jpg
   |        └——————...
   |——————DepthImages/
   |        └——————1.jpg
   |        └——————2.jpg 
   |        └——————3.jpg
   |        └——————...
   |——————DepthNpy/
   |        └——————1.npy
   |        └——————2.npy 
   |        └——————3.npy
   |        └——————...
   |——————images/
   |        └——————1.jpg
   |        └——————2.jpg  
   |        └——————3.jpg
   |        └——————...
   └——————intrinsics.json
  • Year_Month_Day_Hour_Minute_Second : 结果保存的根目录文件夹,使用本地时间命名
  • DepthColorImages : 伪彩色化深度图像的保存位置
  • DepthImages : 深度图像的保存位置
  • DepthNpy : 以.npy格式保存的深度数据
  • images : RGB图像的保存位置
  • intrinsics.json : 当前状态下获取到的相机的参数

2. 数据读取 ( Dataloader.py )

Dataloader.py 用于数据读取,读取结果与 pyrealsense2 一致,使用示例如下。

from Dataloader import LoadImages

path = '2023_03_28_20_14_30'
dataset = LoadImages(path)
for data in dataset:
  color_image, depthimage, inintrinsics = data
  fx, fy, ppx, ppy = inintrinsics.fx, inintrinsics.fy, inintrinsics.ppx, inintrinsics.ppy

其中传递的参数 pathRealsenseColorImage.py 生成的数据集根目录名。

返回值包括RGB图像、深度图像以及相机参数。

3. 文件名批量修改 ( Rename.py )

打开终端,输入以下命令。对于其中的参数 annotations 要求数据集中包含有标签文件,详细可见链接 YOLO算法的自定义数据集制作及模型训练方法

python Rename.py --path 2023_03_28_20_14_30 --firstnum 1 --image_format 0 --annotations False
  • path : 要修改的数据集的根目录名
  • firstnum : 第一个文件名要修改成的名称,这里全部以数字命名
  • image_format : 数据集中图片的格式,0表示.jpg格式,1表示.png格式
  • annotations : 是否修改标注好的标签文件
  • 12
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值