采用C++写的一个ICP算法类,依赖pcl和Eigen库,通过svd分解的方式求取闭解。
#pragma once
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/common/transforms.h>
#include "pcl/point_cloud.h"
#include <pcl/features/normal_3d.h>
#include "pcl/pcl_base.h"
#include <pcl/registration/boost.h>
#include <pcl/correspondence.h>
#include "Eigen/Core"
#include <Eigen/StdVector>
using namespace std;
using namespace pcl;
using namespace Eigen;
template <typename PointSource, typename PointTarget>
class point_to_point_icp
{
typedef typename pcl::search::Search<PointTarget> KdTree;
typedef typename pcl::search::Search<PointTarget>::Ptr KdTreePtr;
public:
int c