2013-12-03 3 views
1

У меня есть набор изображений сцены под разными углами и встроенные параметры камеры. Я смог создать 3D-точки, используя точечные соответствия и триангуляцию. Есть ли встроенный метод или способ создания 3D-изображений в MATLAB? Из заданного набора изображений, трехмерного изображения как такового? По трехмерному изображению я имею в виду трехмерный вид сцены, основанный на цветах, глубине и т. Д.?3D-изображение в MATLAB с использованием разных изображений

+0

Итак, у вас уже есть карта глубины, вам просто нужно отобразить изображение + глубину? – portforwardpodcast

+1

@ Lakshmi Narayanan Вы проверили это? http://stackoverflow.com/questions/6891154/creating-3d-volume-from-2d-slice-set-of-grayscale-images/6894938#6894938 –

+0

@portforwardpodcast Я получил 3D-очки и отобразил их, но они не были нигде близко, из-за отсутствия ярусов и выбросов от сопоставления. Если вы имеете в виду 3D-точки как глубину, да, я имею. Но мне нужен 3D-эффект, который, как мне кажется, объясняется в ответах ниже –

ответ

1

Некоторые из файла обмена MathWorks: 3D CT/MRI images interactive sliding viewer, 3D imshow, image3 и viewer3D.

Если изображения матрица I имеет размерность x*y*z, вы можете попробовать surface, а также:

[X,Y] = meshgrid(1:size(I,2), 1:size(I,1)); 
Z = ones(size(I,1),size(I,2)); 
for z=1:size(I,3) 
    k=z*sliceInterval; 
    surface('XData',X, 'YData',Y, 'ZData',Z*k,'CData',I(:,:,z), 'CDataMapping','direct', 'EdgeColor','none', 'FaceColor','texturemap') 
end 
3

Там был недавно MathWorks blog post на 3D поверхности рендеринга, который показал, методы с использованием встроенных функций и использование способствовало код.

Встроенный метод использует isosurface и patch. Чтобы отобразить несколько поверхностей, трюк состоит в том, чтобы установить 'FaceAlpha'patch property, чтобы получить прозрачность.

Сообщение также подсвечено "vol_3d v2" File Exchange submission, которое предоставляет функцию vol3d для визуализации поверхности. Он позволяет четко определять цвета вокселей и альфа-значений.

1

Панель инструментов системы компьютерного зрения для MATLAB включает функцию estimateUncalibratedRectification, которую вы можете использовать для исправления пары стереоизображений. Проверьте это example, как создать трехмерное изображение, которое можно просмотреть с помощью пары красно-голубых стерео очков.

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