Соответствие облака точек C # (Visual Studio 2013)

Для компании мне нужно сделать конвейерную ленту с камерой, чтобы идентифицировать объекты, которые проходят (и забирать эти объекты с помощью робота).

Они настаивают на использовании C #, поскольку это рекомендации компании. В настоящее время я уже написал код, как читать объекты, а затем (пока) вручную экспортирую облако точек в формат .XYZ (это кажется самым простым форматом).

Объекты узнаваемы, поэтому я хотел бы перейти к следующему шагу: идентифицировать объекты.

Но я не знаю, как пойти дальше. Я хочу сопоставить отсканированный объект с объектом в моей базе данных. При поиске в Google я нахожу PCL (Библиотека облаков точек), но она работает только на C ++.

Есть ли готовые к использованию альтернативы PCL? Я новичок в программировании, поэтому мне будет практически невозможно перевести PCL с C ++ на C #.

Любая помощь будет оценена.

Пожалуйста, имейте в виду: я только студент-механик, и я совсем недавно изучил основы C # для этого проекта.


person Nvdk    schedule 07.10.2015    source источник


Ответы (1)


У вас есть несколько вариантов. Как вы сказали, вы используете камеру, поэтому у вас есть 2D-изображение. Но PCL предназначен для работы с трехмерными облаками точек. Вам лучше использовать 2D-дескрипторы изображений, такие как SIFT или SURF.

Но если объекты легко узнаваемы, как черный круг или прямоугольник на белом фоне, вы можете сделать это с помощью дескрипторов углов, а затем найти совпадение углов текущего изображения камеры и изображения из базы данных.

В конце, если вы хотите работать с PCL, вы можете использовать его в своем коде C #. Единственное, что нужно сделать, это создать обертку. Это не так уж и сложно. Оболочка - это просто промежуточный проект, который позволяет вам вызывать функции C ++ из вашего кода C #. Здесь Вы можете найти простой учебник.

Также существует программа, которая автоматически создает оболочку: Генератор кода для создания двусторонних мостов между Native World и .NET World. Но я им не пользовался.

person Hossein Abedi    schedule 30.08.2016