python利用pybind11调用PCL点云库
2019年7月9日14:31:13
完成了一个简单的小例子,python生成点云数据,利用pybind11传给PCL显示。
ubuntu 16.04 + Anaconda3 python3.6 + PCL 1.8 + pybind11
代码: https://github.com/necroen/py_pcd_visualization
效果图如下:

搞深度估计,一直需要点云库PCL的python接口,未来还需要用到PCL中的某些功能。
然而好像没有什么资料和例子。
github上也只有一个看起来不怎么完善的库: https://github.com/strawlab/python-pcl
看起来就不太好编译,没玩过。然后想着自己用pybind11封装需要的功能。
用的是高博slam14讲代码里ch5 joinMap的数据:
https://github.com/gaoxiang12/slambook/tree/master/ch5/joinMap
基本上就是把pybind11的例子和PCL的例子揉合到一块
pybind11的例子:
https://github.com/tdegeus/pybind11_examples
https://www.jianshu.com/p/c912a0a59af9
PCL的例子:
https://blog.csdn.net/fsencen/article/details/79386570
注意点:
1,pybind11的python编译器要指定
2,pybind11文件夹放在cpp文件同级目录
3,pybind11中target_library的用法
其实我之前折腾了好几天试图把ros的package用pybind11封装成库给python
用,没成功,如果这个弄出来会更省事,然而ros包的编译过程改不动。。。
python利用pybind11调用PCL点云库的更多相关文章
- PCL点云库:ICP算法
ICP(Iterative Closest Point迭代最近点)算法是一种点集对点集配准方法.在VTK.PCL.MRPT.MeshLab等C++库或软件中都有实现,可以参见维基百科中的ICP Alg ...
- PCL点云库中的坐标系(CoordinateSystem)
博客转载自:https://blog.csdn.net/qq_33624918/article/details/80488590 引言 世上本没有坐标系,用的人多了,便定义了坐标系统用来定位.地理坐标 ...
- Windows下安装PCL点云库
原文链接:http://blog.csdn.net/u012337034/article/details/38270109 简介: 在Windows下安装PCL点云库的方法大概有两种: ...
- Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境
Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境 下载PCL For windows 软件包 到这个网站下载PCL-All-In-One Installer: ...
- PCL点云库(Point Cloud Library)简介
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=29 什么是PCL PCL(Point Cloud Library)是在吸收了 ...
- PCL点云库:对点云进行变换(Using a matrix to transform a point cloud)
点云数据可以用ASCII码的形式存储在PCD文件中(关于该格式的描述可以参考链接:The PCD (Point Cloud Data) file format).为了生成三维点云数据,在excel中用 ...
- python 利用subprocess调用cmd命令程序,并正确输出控制台的输出中文
平台Python3.7 1.利用控制台运行程序后在控制台会输出中文提示,但是用python调用subprocess.run函数后返回的输出是乱码,于是,解决方法是用subprocess.check_o ...
- [PCL]1 PCL点云库安装
1.安装文件下载:官网,我还是比较喜欢别人编译好的安装包啊,哈哈. http://www.pointclouds.org/downloads/windows.html 2.傻瓜式安装(下面的依赖项都集 ...
- PCL点云库增加自定义数据类型
#include <pcl/filters/passthrough.h> #include <pcl/filters/impl/passthrough.hpp> // the ...
随机推荐
- __setitem__和__getitem__和__delitem__
__setitem__和__getitem__和__delitem__ class Foo: def __init__(self, name): self.name = name def __geti ...
- 作业13:Map相关知识点(一)
一 Map相关类图 二 Map接口 1 Map接口中的方法 jdk 方法名 简单描述 put(K,V):V 添加value,当Key对应无值,返回null;有值则返回上一个值.(覆盖式,可以反复覆盖前 ...
- 3、详解 ESLint 规则 转自https://blog.csdn.net/bbsyi/article/details/88816637
什么是 ESLint ? ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误.在许多方面,它和 JSLint.JSHi ...
- http 协议相关问题
http 协议相关问题 来源 https://www.cnblogs.com/lingyejun/p/7148756.html 1.说一下什么是Http协议? 对器客户端和 服务器端之间数据传输的格式 ...
- 小程序e.currentTarget与e.target 两个属性的区别
注册事件是获取小程序组件上面的自定义属性值 e.target是获取当前点击的标签上面的自定义属性 e.currentTarget是获取注册点击事件标签内的自定义属性
- property配置
之前把设备历史数据存储的时间周期存储在了数据库中,因为以下一些原因,我打算改写到property配置文件中 1.这个周期时间的配置没有单独放一个tabel中,导致现在设备类型越来越多,每次添加或者修改 ...
- # 机器学习算法总结-第一天(KNN、决策树)
KNN算法总结 KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别.(监督) k近邻算法(knn)是一种基本的分类与回归的算法,k-mea ...
- jqGrid TreeGrid 加载数据 排序 扩展
发现 jqGrid TreeGrid 加载的数据必须要排序 给了两种平滑数据模式尽然不内部递归 所以改了下源码加了个数据二次过滤器扩展 数据本该是这样的 结果没排序成这样了 (而且还得是从根节点到子节 ...
- 【Distributed】限流技巧
一.概述 1.1 高并发服务限流特技 1.2 为什么要互联网项目要限流 1.3 高并发限流解决方案 二.限流算法 2.1 计数器 2.2 滑动窗口计数 2.3 令牌桶算法 使用RateLimiter实 ...
- Man手册--nmap
目录 nmap使用手册 附录: nmap使用手册 附录: NMAP(1) Nmap Reference Guide NMAP(1) NAME nmap - Network exploration to ...