zoukankan      html  css  js  c++  java
  • 在PCL中如何实现点云压缩(2)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=125

    压缩配置文件:

    压缩配置文件为PCL点云编码器定义了参数集。并针对压缩从OpenNI采集器获取的普通点云进行了优化设置。请注意,解码对象不需要用参数表示,因为它在解码时检测并获取对应的编码参数配置。下面的压缩配置文件是可用的:

    LOW_RES_ONLINE_COMPRESSION_WITHOUT_COLOR:分辨率1cm3,无颜色,快速在线编码

    LOW_RES_ONLINE_COMPRESSION_WITH_COLOR:分辨率1cm3,有颜色,快速在线编码

    MED_RES_ONLINE_COMPRESSION_WITHOUT_COLOR:分辨率5mm3,无颜色,快速在线编码

    MED_RES_ONLINE_COMPRESSION_WITH_COLOR:分辨率5mm3,有颜色,快速在线编码

    HIGH_RES_ONLINE_COMPRESSION_WITHOUT_COLOR:分辨率1mm3,无颜色,快速在线编码

    HIGH_RES_ONLINE_COMPRESSION_WITH_COLOR:分辨率1mm3,有颜色,快速在线编码

    LOW_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR:分辨率1cm3,无颜色,高效离线编码

    LOW_RES_OFFLINE_COMPRESSION_WITH_COLOR:分辨率1cm3,有颜色,高效离线编码

    MED_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR:分辨率5mm3,无颜色,高效离线编码

    MED_RES_OFFLINE_COMPRESSION_WITH_COLOR:分辨率5mm3,有颜色,高效离线编码

    HIGH_RES_OFFLINE_COMPRESSION_WITHOUT_COLOR:分辨率5mm3,无颜色,高效离线编码

    HIGH_RES_OFFLINE_COMPRESSION_WITH_COLOR:分辨率5mm3,有颜色,高效离线编码

    MANUAL_CONFIGURATION允许为高级参数化进行手工配置

    高级参数化:

    为了能完全控制压缩相关的参数,PointCloudCompression类的构造函数可以在初始化时附加压缩参数。请注意,为了启用高级参数化,compressionProfile_arg参数需要被设置成MANUAL_CONFIGURATION

    PointCloudCompression (compression_Profiles_e compressionProfile_arg,
    bool showStatistics_arg,
    const double pointResolution_arg,
    const double octreeResolution_arg,
    bool doVoxelGridDownDownSampling_arg,
    const unsigned int iFrameRate_arg,
    bool doColorEncoding_arg,
    const unsigned char colorBitResolution_arg)
    

    下面解释高级参数化设置:

    compressionProfile_arg:为了启用高级参数化,该参数应该被设置成MANUAL_CONFIGURATION。

    showStatistics_arg:把压缩相关的统计信息打印到标准输出。

    pointResolution_arg:定义点坐标的编码精度,该参数应该设置成小于传感器精度的一个值。

    octreeResolution_arg:该参数定义展开了的octree的体素大小,较大的体素分辨率使得压缩更快,但是压缩质量下降,这在较高的帧速率(上传速率)和压缩效率中间进行了折中设置。

    doVoxelGridDownDownSampling_arg:如果激活该参数,那么只编码分层octree的数据结构,解码对象在体素中心生成点,通过这种方法,点云在压缩期间被下采样,同时达到了较高的压缩性能。

    iFrameRate_arg:点云压缩模式对点云进行差分编码压缩,用这种方法,对新引入的点云和之前编码的点云之间的差分进行编码,以便获得最大压缩性能,iFrameRate_arg允许指定数据流中的某一帧速率,在这一速率下传输的点云就不进行差分编码压缩(和视频编码中的I/P帧类似)。

    doColorEncoding_arg:该选项启用彩色纹理成分编码压缩。

    colorBitResolution_arg:该参数定义每一个彩色成分编码后的占比特数。

    PCL点云数据流压缩的命令行工具

    PCL应用程序工具中包含点云流数据压缩命令行工具openni_stream_compression.exe,用户可以可以查看选项的完整列表(注意:屏幕上的输出可能不同)。该工具可以安装好的PCL的bin目录下找到。用户可以自行试验,看看其强大的功能,具体参看其命令行帮助提示。例如它可以通过网络进行点云压缩传输。

    为了通过TCP/IP传输压缩点云,可以用下面的命令启动服务器:

    ...>openni_stream_compression.exe -s

    它会监听6666端口看是否有接入连接请求,用下面的命令开启客户端:

    ...>openni_stream_compression -c SERVER_NAME

    远程采集到的点云可以通过点云查看工具在本地显示,笔者测试结果如图所1所示。

    1 点云数据流压缩结果

    敬请关注PCL(Point Cloud Learning)中国更多的点云库PCL(Point Cloud Library)相关官方教程。

    参考文献:

    1.朱德海、郭浩、苏伟.点云库PCL学习教程(ISBN 978-7-5124-0954-5)北京航空航天出版社2012-10

  • 相关阅读:
    好听的英文歌
    怎样c# java md5值保持一致
    gson 生成json有u003d异常字符处理
    界面实时刷新线程信息
    zookeeper 节点启动时的更新机制
    线上zk节点报org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:187) at java.lang.Thread.run(libgcj.so.10)
    清理.git文件
    netbeans启动后一会崩溃处理
    windows下elasticsearch启动
    对于cnn的理解
  • 原文地址:https://www.cnblogs.com/flyinggod/p/8598515.html
Copyright © 2011-2022 走看看