2015-12-31 3 views
2

Как применить векторное поле, полученное с помощью колчана, к изображению, которое приводит к смещению пикселей в направлении векторов (изображение искажено)?Применение векторного поля к изображению в matlab

Кроме того, если поле вектора I имеет размерность 3, как бы я это сделал? Подумайте об этом как о плоском двумерном изображении на трехмерной местности. Как я буду рассматривать это в Matlab?

Спасибо за ваше время

EDIT: Я должен деформировать изображение не только по оси Z, а вдоль X и Y осей, а также.

ответ

1

Укладка плоского 2 объемного изображения над 3 размерной местностью: enter image description here

Это не очень понятно, как оси ориентированы, но это изображение клоуна отображенного на функции пиков. Точные шаги описаны в документации surface в примере «Отображать изображение вдоль участка поверхности».

load clown 
C = flipud(X); 
figure 
surface(XD,YD,ZD,C,... 
    'FaceColor','texturemap',... 
    'EdgeColor','none',... 
    'CDataMapping','direct') 
colormap(map) 
view(-35,45) 

По сути, вы создаете поверхность CData как изображение, которое вы хотите отобразить и установить соответствующую цветовую палитру для осей.

+1

Код, который вы написали, чтобы воспроизвести этот сюжет. Даже если это связано с документацией, код для воспроизведения сюжета, размещенного здесь для самоконденсации, будет полезен. Ссылка, которую вы опубликовали, может меняться со временем. – rayryeng

+0

Это позволяет мне деформировать изображение по оси Z. Однако у меня есть деформации по оси X и Y. Как их выполнять? – user3749634

0

Используйте функцию imwarp в панели обработки изображений.

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