2013-03-28 3 views
0

У меня есть много облаков 3D-точек, собранных датчиком velodyne. например (x, y, z) в метре.Преобразование 3D облаков точки в область изображения

Я бы хотел конвертировать 3D облака точки в изображение диапазона.

Во-первых, у меня есть трансформация от катезианской до сферической координаты.

r = sqrt(x*x + y*y + z*z) 
azimuth angle = atan2(x, z) 
elevation angle = asin(y/r) 

Теперь. Как преобразовать трехмерную точку в изображение диапазона с помощью этих преобразований в matlab?

Всего точек около 180 000, и я хочу 870 * 64 изображений.

азимут диапазон углов (-180 ~ 180), диапазон угла возвышения (-15 ~ 15)

ответ

2

разделить ваш азимуту и ​​углу места в М и N диапазонов соответственно. Теперь у вас есть M * N "бункеры" (M = 870, N = 64).

Затем (за каждый бит) аккумулирует гистограмму точек, которые проектируются в этот бит.

Наконец, выберите репрезентативное значение из каждого бункера для изображения окончательного диапазона. Вы можете выбрать среднее значение (шумное, быстрое) или установить какое-то распределение, а затем использовать это, чтобы выбрать значение (точнее, медленнее).

-1

Код pointcloud2image код, доступный с Matlab File Exchange, может помочь вам преобразовать облако точек (в формате x,y,z) в 2D растровое изображение.

Смежные вопросы