Облако точек изменилось после загрузки и переписывания облака точек - PullRequest
0 голосов
/ 26 июня 2019

Я просто загружаю и переписываю файл ply, используя pcl .

void main (int argc, char** argv)
{
    // Fetch point cloud filename in arguments | Works with PCD and PLY files
    std::vector<int> filenames;
    bool file_is_pcd = false;

    filenames = pcl::console::parse_file_extension_argument (argc, argv, ".ply");

    if (filenames.size () != 1)  {
        filenames = pcl::console::parse_file_extension_argument (argc, argv, ".pcd");

        if (filenames.size () != 1) {
            showHelp (argv[0]);
            return -1;
        } else {
            file_is_pcd = true;
        }
    }

    // Load file | Works with PCD and PLY files
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr source_cloud (new pcl::PointCloud<pcl::PointXYZRGB> ());

    if (file_is_pcd) {
        if (pcl::io::loadPCDFile (argv[filenames[0]], *source_cloud) < 0)  {
            std::cout << "Error loading point cloud " << argv[filenames[0]] << std::endl << std::endl;
            showHelp (argv[0]);
            return -1;
        }
    } else {
        if (pcl::io::loadPLYFile (argv[filenames[0]], *source_cloud) < 0)  {
            std::cout << "Error loading point cloud " << argv[filenames[0]] << std::endl << std::endl;
            showHelp (argv[0]);
            return -1;
        }
    }

    pcl::io::savePLYFileBinary("gt_2.ply", *source_cloud);
}

Но когда я проверял файл ply после перезаписи, начальный точка обзора облака точек была изменена. Я имею в виду облако точек, преобразованное. Я использовал инструмент plyv в cvkit для просмотра файлов ply.

...