利用OpenCV提取彩色图像的RGB信息,XYZ随机赋值,创建PCL中的PointCloudXYZRGB形式的点云,并显示出来。
#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <opencv2/opencv.hpp>
int user_data;
void viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor (0.0, 0.0, 0.0);
}
void viewerPsycho (pcl::visualization::PCLVisualizer& viewer)
{
user_data = 9;
}
int main ()
{
pcl::PointCloud<pcl::PointXYZRGB> cloud_a;
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGB>);
cv::Mat image = cv::imread("2.jpg");
int rowNumber = image.rows;
int colNumber = image.cols;
cloud_a.width = rowNumber;
cloud_a.height = colNumber;
cloud_a.points.resize(cloud_a.wi