Matlab plot3 не работает в примере калибровки стерео и реконструкции сцены

Я пытаюсь реализовать пример, приведенный на этой странице ссылка Все части кодов работают хорошо, но

    plot3(hAxes, x, y, z, '.', 'MarkerEdgeColor', reducedColorMap(i, :));
    hold on;

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


person Pruthvi P    schedule 09.07.2014    source источник
comment
Вы проверили значения x, y, z, i и reducedColorMap(i, :) в этом месте вашего кода?   -  person Dan    schedule 09.07.2014
comment
спасибо, x y z отображаются пустыми, есть идеи, почему? @Дэн   -  person Pruthvi P    schedule 09.07.2014
comment
И вы получаете правильные изображения для imshow(disparityMap, [0, 64], 'InitialMagnification', 50) и для showReprojectionErrors(stereoParams);?   -  person Dan    schedule 09.07.2014
comment
да, это идет .. @Dan   -  person Pruthvi P    schedule 09.07.2014
comment
Затем вы должны пройти обратный путь от x, y и z и найти, какие переменные первыми окажутся пустыми.   -  person Dan    schedule 09.07.2014
comment
я получил, x y z были отрицательными значениями, а позже они находили точки от 3 до 7, поэтому x y z были нулевой матрицей   -  person Pruthvi P    schedule 09.07.2014


Ответы (1)


Вы запускаете код примера как есть или используете свои собственные изображения? Если вы используете свои собственные изображения, а z отрицательные, это будет означать, что ваша камера1 находится справа от камеры2. Если вы поменяете изображения так, чтобы камера1 была слева, z должен получиться положительным. В качестве альтернативы вы можете оставить все как есть и найти соответствующие отрицательные пределы для z.

Изменить: начиная с версии R2015b существует функция под названием pcshow. для визуализации облаков точек.

person Dima    schedule 09.07.2014