0 引言

问题背景:pcl中提供了大量工具,用于对点云和三角面片文件进行处理和显示。在研究中,存在很多简易的需求,比如点云坐标转换,
点云的打开显示以及同步显示,点云的最小包络求解,点云的格式转换等等. 在对这些需求进行封装时,发现自己的代码组织混乱,类
的定义不明确,存在很多问题。借此机会,扩展一下面向对象程序设计方面的知识,对需求进行重新封装,追求软件设计上敏捷性和设计
思路上的简洁性。

1 需求列举  

(1)IO

  1. 从任意目录下读入点云文件

  2. 将点云存储到指定目录

  3. 存储点云的变量,存储路径的变量

(2)显示点云

  1. 判断读入点云的格式,即后缀是啥(.pcd文件,.obj文件,. ply等)

  2. 不同格式点云的显示,暂定.pcd文件,.obj文件,. ply文件文件等,在保证上述格式点云正常显示的情况下,保持可扩展的能力.

  3. 存储点云后缀的变量,viewer要有一个变量

(3)格式转换功能

  1. 其他转.pcd

  2. .pcd转其他

(4)minBox,求解点云的最小包络尺寸并打印出来

(5)pcd转pts格式,并保存到指定位置,仍然是格式转换

2 设计方法 CRC cards-class, responsibilities, collaborators

(1)举例:ATM 系统

25 面向对象设计实例——基于PCL点云库的通用工具开发的更多相关文章

  1. PCL点云库中的坐标系(CoordinateSystem)

    博客转载自:https://blog.csdn.net/qq_33624918/article/details/80488590 引言 世上本没有坐标系,用的人多了,便定义了坐标系统用来定位.地理坐标 ...

  2. Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境

    Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境 下载PCL For windows 软件包 到这个网站下载PCL-All-In-One Installer: ...

  3. PCL点云库:ICP算法

    ICP(Iterative Closest Point迭代最近点)算法是一种点集对点集配准方法.在VTK.PCL.MRPT.MeshLab等C++库或软件中都有实现,可以参见维基百科中的ICP Alg ...

  4. Windows下安装PCL点云库

    原文链接:http://blog.csdn.net/u012337034/article/details/38270109 简介:         在Windows下安装PCL点云库的方法大概有两种: ...

  5. PCL点云库(Point Cloud Library)简介

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=29 什么是PCL PCL(Point Cloud Library)是在吸收了 ...

  6. python利用pybind11调用PCL点云库

    2019年7月9日14:31:13 完成了一个简单的小例子,python生成点云数据,利用pybind11传给PCL显示. ubuntu 16.04 + Anaconda3  python3.6 + ...

  7. 04737_C++程序设计_第10章_面向对象设计实例

    10.6.2 使用包含的参考程序及运行结果. 头文件cpp10.h 源文件cpp10.cpp 源文件Find10.cpp 头文件cpp10.h #if ! defined(CPP10_H) #defi ...

  8. [PCL]1 PCL点云库安装

    1.安装文件下载:官网,我还是比较喜欢别人编译好的安装包啊,哈哈. http://www.pointclouds.org/downloads/windows.html 2.傻瓜式安装(下面的依赖项都集 ...

  9. PCL点云库:对点云进行变换(Using a matrix to transform a point cloud)

    点云数据可以用ASCII码的形式存储在PCD文件中(关于该格式的描述可以参考链接:The PCD (Point Cloud Data) file format).为了生成三维点云数据,在excel中用 ...

随机推荐

  1. Dubbox服务的提供方开发

    (1)创建Maven工程(WAR)dubboxdemo-service  ,在pom.xml中引入依赖 <project xmlns="http://maven.apache.org/ ...

  2. macOS添加字体

    打开macOS的Applications文件夹: 双击其中的Font Book: 把下载的字体解压后的_文件夹_ 拖进来,字体就安装好了.

  3. CleanMyMac x如何关闭自动更新,CleanMyMac关闭自动更新的方法

    在众多Mac清理软件中,CleanMyMac x应该是大多数Mac用户的选择,因为它不仅可以帮助我们清理系统垃圾,还可以帮助我们彻底卸载Mac上不需要的应用程序.今天要给大家介绍的是CleanMyMa ...

  4. 深入理解Magento – 第十章、十一章(英文原版地址,仅供参考)

    深入理解Magento – 第十章 – Magento系统覆盖和升级 http://alanstorm.com/magento_upgrade_rewrite_override 深入理解MAGENTO ...

  5. 暴力字符串hash——cf1200E

    #include<bits/stdc++.h> using namespace std; #define ll long long #define N 1000005 #define mo ...

  6. CSS3 图形变换

    1.zoom  和  transform:scale  的区别   :    http://www.zhangxinxu.com/wordpress/2015/11/zoom-transform-sc ...

  7. 2018——2019 20165239Exp9 Web安全基础

    Exp9 Web安全基础 一:基础问题回答 (1)SQL注入攻击原理,如何防御 •原理:它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语 ...

  8. struct and union example

    1. StructHandler.c: /* * StructHandler.c * *  Created on: Jul 6, 2013 *      Author: wangle */#inclu ...

  9. ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗

    ylbtech-ASP.NET CORE-Info:TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗 1.返回顶部 1. TechEmpower在10月30发布最新一 ...

  10. Tomcat运行错误示例

    tomcat运行错误示例 当出现这种错误时,如果是自己配置的tomcat,需要找/conf/server.xml文件. 如果是使用的eclipse tomcat 插件,需要在你的工作空间 找到 如下文 ...