2009-12-18 2 views
7

В принципе, я ищу библиотеку или SDK для обработки больших точечных облаков, поступающих из LIDAR или сканеров, обычно работающих на многие миллионы точек X, Y, Z, Color. То, что мне нужно, следующее:Какие-нибудь хорошие библиотеки C или C++ для работы с большими облаками точек?

Быстрый дисплей, масштабирование, панорамирование точки помутнения Регистрации Быстрый доступ низкого уровня к данным Регресс поверхностей и твердых тел (не так важно, как и другие)

Пока я не против платить за разумное коммерческую библиотеку, мне не интересна очень дорогая библиотека (например, около 5 тыс. долл. США) или одна с ценой лицензии на время выполнения для каждого пользователя. Открытый исходный код также будет хорошим. Я нашел несколько возможностей через Google, но все они, как правило, слишком дороги для моего бюджета.

ответ

3

я второй вызов для R который я интерфейса с C++ все время (с использованием, например, в Rcpp и RInside пакетов).

R предпочитает все данные в памяти, поэтому вы, вероятно, захотите пойти с 64-битной ОС и приличным количеством ОЗУ для большого количества данных. У Task View on High-Performance Computing with R есть несколько указателей на работу с большими данными.

Наконец, для быстрой визуализации hexbin отлично подходит для визуального представления больших наборов данных. Для масштабирования и т. Д. Попробуйте пакет rgl.

2

Почему бы вам не взглянуть на язык программирования R, который может напрямую ссылаться на код C, тем самым образуя мост. R был разработан с учетом статистического кода, но может очень легко помочь не только обрабатывать большие наборы данных, но и визуализировать их. Существует немало ученых-атмосферников, которые используют R в своей работе. Я знаю, я работаю с ними именно за то, что вы пытаетесь сделать. Подумайте, как R бедняка Matlab или IDL (но скоро не будет.)

1

В духе ответов R ROOT также обеспечивает хорошую неровную структуру для такого рода вещей.

Возможно полезные функции:

  • C++, базовый код и Cint C++ интерпретатор в качестве рабочей оболочки. Связывание с Python.
  • Может отображать три тусклые облака точек
  • Набор классов геометрии (хотя я не верю, что они поддерживают все операции, которые вам нужны)
  • Разработано ядерных и частиц физики вместо статистиками: р
6

Проверить Point Cloud Library (PCL). Это довольно полный набор инструментов для обработки и обработки облаков точек.Он также предоставляет инструменты для визуализации облака точек: pcl::visualization::CloudViewer, что делает использование VTK библиотеки и WxWidgets

С 2011 года, пункт лоскут перевод (чтение/запись) и манипулируя инструментарий был разработан: PDAL - Point Data Abstraction Library

+1

Я бы добавил, что «CloudViewer» несколько «прост». Если вам нужно что-то придумать, в основном убедитесь, что вам нужно перейти непосредственно к 'PCLVisualizer'. –

1

Vortex по Pointools может пойти до гораздо большего числа очков, чем миллионы, которые вы просите:

http://www.pointools.com/vortex_intro.php

Он может обрабатывать файлы многого гигабайта, содержащие миллиарды точек на скромном аппаратном обеспечении.

+0

Вихрь, безусловно, хороший двигатель, но лицензирование кажется довольно дорогим и связано с тем, что я вижу. –

+1

Я не знаю, как теперь они были приобретены Bentley, но можно было бы почтить электронную почту, чтобы увидеть, что они могут сделать для вас. – ahcox