前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Halcon读取Stanford bunny模型

使用Halcon读取Stanford bunny模型

作者头像
threeQing
发布2019-08-15 17:49:39
1.6K0
发布2019-08-15 17:49:39
举报
文章被收录于专栏:机器视觉那些事儿

1

模型下载

下载地址:

https://www.cc.gatech.edu/projects/large_models/bunny.html

打开后页面如下

点击红色箭头所指,下载.PLY格式

2

ply格式简介

PLY是一种数据存储格式, 全名为多边形档案(Polygon File Format)或斯坦福三角形档案(Stanford Triangle Format)。该格式主要用以储存立体扫描结果的三维数值,可以存储颜色、透明度、表面法向量、材质座标与资料可信度等属性。

使用记事本打开兔子模型文件

部分文件内容如下

从上到下,一行一行将此文件格式捋一下。

  • 首先文件结构由文件头+数据内容组成,文件头由ply开始,一直到end_header 为止;
  • format关键字后跟着的是数据的编码形式,分为ASCII码和Binary两类;
  • comment后跟着的是注释信息,包括些作者、版本等信息,如果是带贴图的ply文件需要将贴图文件名放在注释信息;
  • element关键字后面跟的是元素类型和个数,元素包括顶点vertex和面片face,这里是35947个顶点,69451个面片;
  • property关键字后面跟的是这个元素(element)的数据类型,此处表示每个点(用一行表示)后跟着5个数据,分别为x、y、z、confidence、intensity ,所有数据的数据类型为float32;
  • list表示后面跟着的是个列表,vertex_indices 指的是这是个顶点列表,本行用一个uint8的数字打头,指出列表中的元素个数数据类型,然后unint32表示的是列表中数据的类型,也就是用32位无符号整形表示此面片顶点对应的vertex元素的编号(按顺序从小到大);
  • 再后面就是根据文件头规定的属性,依次排列的数据。

3

halcon程序

完整读取代码如下

使用read_object_model_3d读取3D模型

使用本地函数visualize_object_model_3d可视化3D模型

代码语言:javascript
复制
dev_close_window ()
dev_open_window (0, 0, 400, 500, 'black', WindowHandle)
*读取点云ply文件
read_object_model_3d('C:/Users/SWD-AR02/Desktop/bunny.ply/bunny.ply', 'mm', 'convert_to_triangles', 'true', ObjectModel3D, Status)

Instructions[0] := 'Rotate: Left button'
Instructions[1] := 'Zoom:   Shift + left button'
Instructions[2] := 'Move:   Ctrl  + left button'

Message := 'Bunny3D PointCloud'
*虚拟化模型并且显示
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], [], [], Message, [], Instructions, PoseOut)
dev_clear_window ()

所使用的halcon算子介绍:

read_object_model_3d(:: FileName, Scale, GenParamName, GenParamValue :ObjectModel3D, Status)

功能:从文件中读取3D对象模型,并返回3D对象模型的句柄,支持的格式有'om3'、‘dxf’、‘off’、‘ply’、‘obj’等。

参数:

FileName:读取文件路径

Scale:制定文件数据单位

GenParamName: 制定通用参数名字

GenParamValue :通用参数值

ObjectModel3D: 读取到3D对象模型的句柄

Status: 输出状态信息

4

显示兔子模型

可以看到一只十分健硕的兔子

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉那些事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档