3D物体分类---ModelNet .OFF格式生成多视角图像(Mat方法之第一步体素化)

本文介绍如何将ModelNet10/40的.OFF格式文件转换为MAT格式,实现三维物体的体素化。通过设置体素大小和旋转角度,可生成多视角的体素数据,便于后续的CNN模型训练。代码已上传至GitHub。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强烈建议使用Blender方法!!!

- 授人以鱼不如授人以渔 -
写文章的初衷是我在处理ModelNet的.OFF文件时遇到太多困难,只为后来的你减少不必要的麻烦,思路和代码都是我历经千辛万苦才摸索出来的,百度很难找到,代码现已全部上传至GitHub。需要特别说明的是,代码不是拿来即用的,你需要仔细按照你自己的路径修改

目前我找到的方法有两种,一种是利用Blender软件和python生成多视角图像数据集,第二种是将.OFF转为.MAT再转为.PNG。
本文为Blender方法的第一步。


两种方法具体步骤:


展示一下

历经千辛万苦,终于成功把ModelNet10/40 OFF格式转为MAT格式,各种CNN模型输入的格式要么是MAT格式要么是IMAGE格式,因此OFF格式必须转换为CNN模型可接受格式。

另外,也实现了对三维物体MAT格式进行多视角图片转换,这一步是为了我的方法而做的。

但是,临近年关,不知道能否年前把这些代码整理完,公布出来,要尽快催促自己完成!!!加油!!!

每行表示由一个3D模型得到的16个不同视角的2D图片


1. ModelNet10/40 .OFF文件转.MAT文件(即体素化)

需要说明的是,上图还不是这一次更新得到的。

1.1 ModelNet OFF体素化代码解释

本次代码更新是读取ModelNet10/40文件夹,自动全部一次生成对应的.MAT文件

代码参数说明:
参数一共有4项:

  • volume_size
    设置体素化文件的大小,假如volume_size=300,最终输出体素大小为300×300×300
  • angle_inc
    这个参数是实现读取.OFF文件然后旋转一定角度,再生成体素文件,如果angle_inc=1,则表示每隔1度就旋转一次,并保存为.MAT文件,最终对应一个.OFF文件将生成360(360/1)个.MAT文件,如果angle_inc=90,则每90度旋转一次,最后得到4个角度的.MAT文件,即0°,90°,180°,360°。
  • off_path
    指定ModelNet10/40路径
  • mat_path
    设置体素化ModelNet10/40的目标路径

1.2 你想要的的代码在这里


如果有任何问题,留言给我,看到会回复的。。。

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值