Ejemplo n.º 1
0
PointCloudPtr loadRGBD2Cloud(string depth_file, string reg_file)
{
  cv::Mat depthMat = reload_32f_image(depth_file);
  cv::Mat imageMat = cv::imread(reg_file);
  PointCloudBuilder * builder = new PointCloudBuilder(depthMat, imageMat);
  PointCloudPtr cloud = builder->getPointCloud();
  delete builder;
  return cloud;
}
Ejemplo n.º 2
0
int main()
{
    cv::Mat depthMat = reload_32f_image("/home/yht/KinectData/depth.bin");
    cv::Mat imageMat = cv::imread("/home/yht/KinectData/registered.png");
	PointCloudBuilder * builder = new LineFilter(depthMat, imageMat);
    PointCloudPtr pointCloud = builder->getPointCloud();
    pcl::io::savePCDFile("/home/yht/KinectData/sample1.pcd", *pointCloud, true);
	delete builder;

//    PointCloudPtr filteredCloud = removeBigPlanes(pointCloud, 0.2, 3, 5);
//    pcl::VoxelGrid<pcl::PointXYZRGB> grid;
//
//
//    ProjectionDivider divider(pointCloud);
//    double xMin = divider.getXMin();
//    double yMin = divider.getYMin();
//    double zMin = divider.getZMin();
//
//    PointCloudPtr subCloud = getSubCloud(pointCloud, xMin +55, xMin + 180,
//        yMin + 30, yMin + 42, zMin, zMin + 300);
//    ofstream fxOut("/Users/gjc13/KinectData/planeX.data");
//    ofstream fyOut("/Users/gjc13/KinectData/planeY.data");
//    ofstream fzOut("/Users/gjc13/KinectData/planeZ.data");
//    for(auto point: subCloud->points)
//    {
//        double x = point.x;
//        fxOut << x << endl;
//    }
//    for(auto point: subCloud->points)
//    {
//        double y = point.y;
//        fyOut << y << endl;
//    }
//    for(auto point: subCloud->points)
//    {
//        double z = point.z;
//        fzOut << z << endl;
//    }
//    auto viewer = rgbVis(pointCloud);
//    while (!viewer->wasStopped())
//    {
//        viewer->spinOnce(100);
//        boost::this_thread::sleep(boost::posix_time::microseconds(100000));
//    }
    return 0;
}