1、error C2589: “(”:“::”右边的非法标记
原因:也许在代码里有自己写的#defined max
或者在pcl文件头之前定义了windows.h
解决方案:
在#include<windows.h>之前使用#define NOMINMAX
或者在#include pcl头文件之前使用#undef max
2、PCL使用要用Release模式会比Debug模式快很多!
之前由于惯性思维,只使用vs默认的debug模式,导致PCL速度很慢,读文件存文件速度都很慢,慢到爆炸,后来才听同学说到用Release模式会快很多。还能怎么办,这是自己的知识盲区!
3、还有,存文件的时候,存为二进制的,存的速度也会快很多!
pcl::io::savePCDFile("map.pcd", *map_filtered, true);
第三个参数控制是否使用二进制存储,默认为false,一定要使用true!!!
4、pcl各种函数的用法,直接看pcl官方教学文档的例子就可以了,博客里的教程都是在这上面改的,或者改都没有改直接翻译一下官方的例程。
要使用NDT
http://pointclouds.org/documentation/tutorials/normal_distributions_transform.php
要使用降采样
http://pointclouds.org/documentation/tutorials/voxel_grid.php
当然,刚入门可以看一些博客写的,但是后面熟悉了后直接去官网看就好了,更加简练清晰。