cnpy 库使用笔记

欢迎访问我的个人博客:zengzeyu.com

前言


在进行网络训练过程中,在生成训练数据时,一般会使用比较底层的传感器来生成数据,如摄像头或雷达,所以大部分使用C++进行开发。为了将数据转为Numpy Array格式供Python调用,cnpy库就是供C++生成这种格式数据的开源库,由国外一名小哥开发。
cnpy地址:https://github.com/rogersce/cnpy
官方例子:https://github.com/rogersce/cnpy/blob/master/example1.cpp

应用方法


cnpy有两种应用方法:

  1. 官网方法:将cnpy库加入到ubuntu系统环境中,当做系统库进行调用,类似于安装好的OpenCV库;
  2. ROS package 方法:将cnpy库包含到ROS工作空间下,当做独立的package供调用。

方法1:


按照官网安装教程安装即可:

Installation:

Default installation directory is /usr/local. To specify a different directory, add -DCMAKE_INSTALL_PREFIX=/path/to/install/dir to the cmake invocation in step 4.

1
2
3
4
5
6
1. get [cmake](https://github.com/rogersce/cnpy/blob/master/www.cmake.org)
2. create a build directory, say $HOME/build
3. cd $HOME/build
4. cmake /path/to/cnpy
5. make
6. make install

Using:

To use, #include"cnpy.h" in your source code. Compile the source code mycode.cpp as

1
g++ -o mycode mycode.cpp -L/path/to/install/dir -lcnpy -lz --std=c++11

方法2:


  1. 将下载好的cnpy文件夹放到与调用cnpy库的 package A 同级目录下,并将以下内容添加到A的package.xml中:

    1
    2
    <build_depend>cnpy</build_depend>
    <run_depend>cnpy</run_depend>
  2. 然后以下内容添加到 A 的Cmakelist.txt中:

    1
    2
    3
    4
    5
    find_package(
    cnpy )
    catkin_package(
    CATKIN_DEPENDS cnpy )
  3. 在 A 中调用的xx.h中按照路径包含即可:

    1
    #include "../../../cnpy/include/cnpy/cnpy.h"

此方法也适用于任何其他想要调用的package,按照上书步骤操作即可。

以上。