[visualization] AreaPickingEvent.getPointsIndices() returns wrong indices
Los mantenedores suelen responder en 4 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- computer-vision
Línea de trabajo
Comienza con pcl::visualization::AreaPickingEvent::getPointsIndices y el callback pp_callback_AreaSelect mostrado en el issue. Reproduce la selección de área usando la interacción de visualización documentada; después, compara los índices devueltos con la nube de puntos seleccionada y revisa la documentación de AreaPickingEvent. Se considera terminado cuando los índices coinciden con el área seleccionada y los pasos necesarios para la selección están documentados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
My Environment:
- OS: Windows 11
- Compiler: MSVC2019_64
- PCL Version 1.12.1
- VTK 9.1.0
- Qt 5.15.2
Problem
I integrated the areapickingevent under the visualization module in my Qt program, and tried to get the point cloud index of my selected area through getPointsIndices. But after I visualized the resulting point cloud, I found that the point cloud index was wrong.
The green box in the picture above is the part I selected.
The green box in the above picture is the result of the selected point cloud visualization.
Code
void PCL_test::pp_callback_AreaSelect(const pcl::visualization::AreaPickingEvent& event, void* args)
{
PCL_test* p = (PCL_test*)args;
std::vector<int > indices;
if (event.getPointsIndices(indices) == -1)
return;
p->selected_3D_points->clear();
qDebug() << "Pointcloud area size: " << indices.size() << endl;
for (int i = 0; i < indices.size(); ++i)
{
qDebug() << "Selected point[" << i + 1 << "] indice" << indices[i] << ":" << p->cloudptr->points.at(indices[i]).x << ", " << p->cloudptr->points.at(indices[i]).y << ", " << p->cloudptr->points.at(indices[i]).z << endl;
p->selected_3D_points->points.push_back(p->cloudptr->points.at(indices[i]));
}
//qDebug() << "Select points size: " << p->selected_3D_points->width << "*" << p->selected_3D_points->height << endl;
//*p->cloudptr = *p->selected_3D_points;
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZI> cloud_color(p->selected_3D_points, 0, 255, 0);
p->cloud_viewer->removeShape("pick");
p->cloud_viewer->addPointCloud(p->selected_3D_points, cloud_color, "pick");
p->cloud_viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "pick");
p->ui.qvtkwidget_cloudviewer->update();
}
Additional context
I found that getPointsIndices does not have any parameters for viewing angle settings, and I don't know what other factors will affect the accuracy of point cloud selection. In addition, I would like to add that I did not see any specific point cloud selection operation instructions in the official documentation, such as "press x first, then use the left mouse button to select, and then press x to visualize the selection results". I hope the official can add more detailed introductions in subsequent updates. Thanks a lot.
- Lenguaje dominante
- C++
- Estrellas
- 11.2k
- Forks
- 4.7k
- Merge medio
- 5 d 8 h
- PR fusionados (30 d)
- 10
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PointCloudLibrary/pcl
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
PointCloudLibrary/pcl#6509 · 1 comentario ·
Los mantenedores suelen responder en 4 días
-
kind: bug status: triage
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
PointCloudLibrary/pcl#6395 ·
Los mantenedores suelen responder en 4 días
-
[sample_consensus] Migrated the SSE and AVX implementations of countWithinDistance to RISC-V RVV 1.0Abiertokind: request status: triage
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
PointCloudLibrary/pcl#6385 · 1 reacción ·
Los mantenedores suelen responder en 4 días
-
2 tests failPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
PointCloudLibrary/pcl#6373 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 4 días
-
kind: question kind: request
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
PointCloudLibrary/pcl#6370 · 2 comentarios ·
Los mantenedores suelen responder en 4 días
Todos los issues de PointCloudLibrary/pcl
Issues similares
-
good first issue invalid
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
DanielJerolm/gpcc#74 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
patrick-hudson/put.gd-desktop#808 ·
Los mantenedores suelen responder en 1 día
-
DPI change is not fully handled in the cascading window on WindowsPosiblemente ocupada @yukawa la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 4 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
enhancement Ready for final check
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
mpogue2/SquareDesk#1818 · 1 comentario ·