aprendizaje livox_lidar_camera_calibration: extracción mejorada de puntos pcd

El código fuente abierto se encuentra en: GitHub - Shelfcol/livox_camera_lidar_calibration_modified: mejoras a livox_camera_lidar_calibration

correr:

roslaunch camera_lidar_calibration cornerPcd.launch

1. Lea todos los archivos de la carpeta.

// 遍历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. Utilice la función de devolución de llamada del visor de nube de puntos para obtener los puntos de las esquinas.

Después de ejecutar el código, mantenga presionada la tecla Mayús y haga clic con el botón izquierdo del mouse para seleccionar los puntos láser en el mismo orden que los puntos de las esquinas de la foto. Shift+Q finaliza la operación de PCD actual y continúa con la siguiente operación de PCD.

Si encuentra que los puntos seleccionados están incorrectos a la mitad, si selecciona más de 4 puntos en el visor, volverá a ingresar la selección de puntos del pcd actual.

 

 

3. Guardar datos

Supongo que te gusta

Origin blog.csdn.net/qq_38650944/article/details/124129916
Recomendado
Clasificación