欢迎访问我的个人博客: zengzeyu.com
前言
在进行网络训练过程中,在生成训练数据时,一般会使用比较底层的传感器来生成数据,如摄像头或雷达,所以大部分使用C++进行开发。为了将数据转为Numpy Array格式供Python调用,cnpy库就是供C++生成这种格式数据的开源库,由国外一名小哥开发。
cnpy地址:https://github.com/rogersce/cnpy
官方例子:https://github.com/rogersce/cnpy/blob/master/example1.cpp
应用方法
cnpy有两种应用方法:
- 官网方法:将cnpy库加入到ubuntu系统环境中,当做系统库进行调用,类似于安装好的OpenCV库;
- 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. 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
g++ -o mycode mycode.cpp -L/path/to/install/dir -lcnpy -lz --std=c++11
方法2:
- 将下载好的
cnpy
文件夹放到与调用cnpy
库的 package A 同级目录下,并将以下内容添加到A的package.xml
中:
<build_depend>cnpy</build_depend>
<run_depend>cnpy</run_depend>
- 然后以下内容添加到 A 的
Cmakelist.txt
中:
find_package(
cnpy )
catkin_package(
CATKIN_DEPENDS cnpy )
- 在 A 中调用的
xx.h
中按照路径包含即可:
#include "../../../cnpy/include/cnpy/cnpy.h"
此方法也适用于任何其他想要调用的package,按照上书步骤操作即可。
以上。