Использование OpenNI и Kinect для получения облачных точек - PullRequest
2 голосов
/ 28 ноября 2011

Я работал над проектом, который включает создание 3D-модели объекта с использованием Microsoft Kinect. Я планировал использовать Microsoft Kinect SDK, OpenNI для захвата точек облаков объекта под разными углами и использовать ICP для отображения и создания 3D объекта. Пожалуйста, поправьте меня, если я ошибаюсь в своем заявлении выше. Поскольку я - любитель в этом, я действительно не знаю, иду ли я в правильном направлении.

Моя информация об оборудовании - Microsoft Kinect, Windows 7 - 64-разрядная, Microsoft Visual Studio 2010, Microsoft Kinect SDK, OpenNI, Primesense, NITE (все установлены с использованием .exe или самоизвлекающих устройств, я не использовал cmake ... Мне это надоело, потому что я столкнулся с таким количеством ошибок!

На данный момент я смог подключить свой Kinect и, используя некоторые демонстрационные онлайн-руководства, я смог просматривать данные RGB и карту глубины Kinect. Я читал об OpenNI и не смог добиться большого прогресса в этом тоже. (Есть код на C ++ и C #) Теперь вопросы -

  1. Как получить «точки облачности» каждого изображения, которое я снимаю с объекта? я должен использовать OpenNi для этого?

  2. После получения точек облачности каждого изображения я планирую запустить алгоритм ICP. Какие-нибудь подробности или ссылки, которые я могу использовать, чтобы узнать об этом и реализовать это?

  3. После запуска алгоритма ICP мне нужно отобразить воссозданное 3D, поэтому я должен сделать это с помощью самой Visual Studio 2010?

  4. Я столкнулся с некоторыми программами, такими как «Meshlab», которые помогают создавать 3D с использованием файлов .ply.

Спасибо Адитья

1 Ответ

2 голосов
/ 28 ноября 2011
  1. Я не слишком знаком с Kinect, так как не использовал его, но http://borglabs.com/blog/create-point-clouds-from-kinect может быть полезным.Кажется, я помню, что читал, что вы захотите откалибровать камеры в Kinect.http://www.vision.caltech.edu/bouguetj/calib_doc/ может послужить хорошим началом для определения параметров калибровки камеры.http://opencv.willowgarage.com/wiki/ - это библиотека C ++, которая обеспечивает реализацию калибровки камеры на языке C / C ++.http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV6 выглядит как более специфичное для Kinect решение.

  2. http://vtk.org/ обеспечивает реализацию ICP.http://pointclouds.org/ также содержит алгоритмы регистрации.

  3. VTK предоставляет классы, которые обертывают OpenGL и облегчают визуализацию данных.Возможно, некоторые другие библиотеки, о которых я упоминал, тоже могут это делать, но я не настолько знаком с ними.

  4. PLY-файлы - это лишь один из многих форматов 3D-файлов ...это контейнер общего назначения, который может содержать координаты вершин и многоугольники, образованные соединением вершин.Опять же, VTK предоставляет классы для чтения / записи PLY, а также многие другие форматы 3D-файлов.

...