Добавил конструктор фильтров
This commit is contained in:
@@ -2,12 +2,12 @@
|
||||
|
||||
Демонстрационная программа на Qt 5.11 C++, которая:
|
||||
- принимает массив 3D-точек `QVector<Point3f>`;
|
||||
- строит массив треугольников `QVector<Triangle>`;
|
||||
- выполняет stage-based pipeline (preprocess -> transform -> registration -> reconstruction);
|
||||
- визуализирует точки и полученную треугольную поверхность.
|
||||
|
||||
## Вход/выход API
|
||||
|
||||
`src/geometry/surface_reconstruction.h`:
|
||||
`src/algorithms/reconstruction/surface_reconstruction.h`:
|
||||
|
||||
- `struct Point3f { float x, y, z; };`
|
||||
- `struct Triangle { int i0, i1, i2; };`
|
||||
@@ -28,6 +28,22 @@
|
||||
Текущая реализация строит **выпуклую оболочку** облака точек.
|
||||
Для невыпуклых объектов и детальной реконструкции произвольной поверхности нужны более сложные алгоритмы (например, alpha-shapes, Poisson reconstruction и т.п.).
|
||||
|
||||
## Архитектурный каркас под robotics pipeline
|
||||
|
||||
- `core`: контракты (`PointCloudFrame`, `PipelineContext`, `PipelineStats`, stage-интерфейсы, plugin registry).
|
||||
- `adapters`: мосты к источникам и внешним транспортам (`FilePointCloudSource`, `Ros2PointCloudSource`, `PointCloud2`/`tf2` adapters).
|
||||
- `strategies`: конкретные стадии пайплайна (preprocess, transform, registration, reconstruction).
|
||||
- `factories`: сборка `PipelineExecutor` из plugin-id и профиля.
|
||||
|
||||
### Профили выполнения
|
||||
|
||||
- `desktop_debug`: дефолтный профиль для GUI/отладки.
|
||||
- `rpi4_runtime`: профиль для Raspberry Pi 4 (жестче downsampling, лимит точек, reconstruction реже, async-friendly настройки).
|
||||
|
||||
Выбор профиля:
|
||||
- `factories::pipeline::createPipelineExecutorForProfile("desktop_debug")`
|
||||
- `factories::pipeline::createPipelineExecutorForProfile("rpi4_runtime")`
|
||||
|
||||
## Сборка
|
||||
|
||||
Пример для Qt 5.11:
|
||||
@@ -39,6 +55,19 @@ make
|
||||
|
||||
Для Windows/MSVC используйте соответствующий `nmake`/`jom`.
|
||||
|
||||
## Smoke tests (отдельный runner)
|
||||
|
||||
Для быстрой проверки пайплайна без GUI добавлен отдельный консольный таргет:
|
||||
`DotsToSirfaceTests.pro`.
|
||||
|
||||
```bash
|
||||
qmake DotsToSirfaceTests.pro
|
||||
make
|
||||
./release/DotsToSirfaceTests.exe
|
||||
```
|
||||
|
||||
При успешном запуске runner печатает `Smoke tests passed.` и завершаетcя с кодом `0`.
|
||||
|
||||
## Демо
|
||||
|
||||
При запуске приложение:
|
||||
|
||||
Reference in New Issue
Block a user