livox_lidar_camera_calibration 学習 -- PCD ポイントの抽出の改善

オープン ソース コードは GitHub にあります。Shelfcol/livox_camera_lidar_calibration_modified: livox_camera_lidar_calibration の改善

走る:

roslaunch カメラ_ライダー_キャリブレーション コーナーPcd.launch

1. フォルダー内のすべてのファイルを読み取ります

// 遍历path下面的所有文件,保存在filenames里面
void GetFileNames(string path,vector<string>& filenames)
{
    DIR *pDir;
    struct dirent* ptr;
    if(!(pDir = opendir(path.c_str()))){
        std::cerr<<path<<"  open failed"<<std::endl;
         return;
    }
    while((ptr = readdir(pDir))!=0) {
        if (strcmp(ptr->d_name, ".") != 0 && strcmp(ptr->d_name, "..") != 0  && ptr->d_name[0]!='.')
            filenames.push_back(path + "/" + ptr->d_name);
    }
    // for_each(filenames.begin(),filenames.end(),[&](auto a){
    //     printf("%s\n",a.c_str());
    // });
    sort(filenames.begin(),filenames.end());
    closedir(pDir);
}

2. 点群ビューアのコールバック関数を使用してコーナーポイントを取得します

コードを実行した後、Shift キーを押しながらマウスを左クリックして、写真のコーナー ポイントと同じ順序でレーザー ポイントを選択します。SHIFT+Q は現在の PCD 演算を終了し、次の PCD 演算に進みます。

途中で選択した点が間違っていることに気付いた場合、ビューア上で 4 つ以上の点を選択すると、現在の pcd の点選択を再入力することになります。

 

 

3. データの保存

おすすめ

転載: blog.csdn.net/qq_38650944/article/details/124129916