将彩色和深度图转成点云图
1.方法1
//
// Created by ty on 20-9-30.
//
#ifndef VISIONGRAB_CLOUDMAKER_H
#define VISIONGRAB_CLOUDMAKER_H
#include <opencv2/opencv.hpp>
#include <pcl/io/io.h>
#include <pcl/point_types.h>
using namespace std;
using namespace cv;
typedef pcl::PointXYZRGB PointT;
typedef pcl::PointCloud<PointT> PointCloud;
/**
* 相机内参
*
* 合成点云(彩色图,深度图)
*/
class CloudMaker {
public:
Mat cameraMatrix;
explicit CloudMaker(Mat& cameraMatrix) {
this->cameraMatrix = move(cameraMatrix);
}
/**
* 将彩色和深度图转成点云图
* @param color
* @param depth
* @param cloud
*/
void convert(Mat &color, Mat &depth, PointCloud::Ptr &cloud){
double fx