烟台市建设工程交易中心网站,网页设计与制作心得体会800字,大型网站建设兴田德润优惠,龙岗专业网站建设WxGL附带了几个工具函数#xff0c;其中read_pcfile用来解析.ply和.pcd格式的点云文件#xff0c;该函数返回一个PointCloudData类实例#xff0c;包含以下属性#xff1a;
PointCloudData.ok - 数据是否可用#xff0c;布尔型PointCloudData.info - 数据可用性说明…WxGL附带了几个工具函数其中read_pcfile用来解析.ply和.pcd格式的点云文件该函数返回一个PointCloudData类实例包含以下属性
PointCloudData.ok - 数据是否可用布尔型PointCloudData.info - 数据可用性说明字符串PointCloudData.raw - 解读出来的原始数据字典PointCloudData.fields - 数据字段项名称列表PointCloudData.xyz - 点的坐标数据None或者numpy数组ndarrayPointCloudData.rgb - 点的颜色数据None或者numpy数组ndarrayPointCloudData.intensity - 点的强度数据None或者numpy数组ndarray
以下代码在IDLE中演示了read_pcfile函数的用法其中用到的点云文件可从这个地址下载https://github.com/xufive/wxgl/tree/master/example/res/pointcloud。 import wxglds wxgl.read_pcfile(/Users/xufive/MyCode/pc/bunny.ply)ds.ok
Trueds.info
正常数据可用ds.fields
[x, y, z, confidence, intensity]ds.raw[intensity].shape
(35947,)ds.xyz.shape
(35947, 3)数据解读出来之后调用app.scatter方法即可绘制出点云模型。 app wxgl.App()app.scatter(ds.xyz)app.show()这就是大名鼎鼎的斯坦福兔子。模型使用了WxGL自动分配的颜色也可以使用color参数指定颜色。
通常点云数据不携带颜色信息但可能包含激光反射强度。如果数据中有颜色信息或者用强度信息映射为颜色则需要用户自行判别并在app.scatter方法中提供color颜色参数或者data数据和cm调色板参数。还有另外一种更简单的方式那就是直接使用app.pointcloud方法只需要一个点云文件参数即可绘制出点云模型该方法会自动识别文件是否包含颜色信息和激光强度信息。 import wxglapp wxgl.App(haxisz, bg#001020)app.pointcloud(/Users/xufive/MyCode/pc/isprs/4.pcd, cmjet)app.show()这段代码中的.pcd文件为二进制压缩格式采用LZF压缩算法。WxGL内置了一个Pytho版的LZF解压缩算法省去了安装liblzf库的麻烦但速度较慢。想要更快的速度请安装python-lzf模块。绘制出来的点云模型使用蓝黑背景并使用jet调色板将激光反射强度映射为颜色。