2015-05-03 2 views
0

Я должен отображать временное перемещение двух поверхностей в одном и том же видео. Я уменьшил непрозрачность внешней поверхности, чтобы лучше визуализировать внутреннюю и внешнюю поверхность одновременно.Как отображать поверхности временное перемещение

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

load LV.mat 
for i = 1:26 
    endo_v3 = ones(3, 758, 26); 
    epi_v3 = ones(3, 758, 26); 

    endo_v3 = endo_vertices(:, :, i); 
    epi_v3 = epi_vertices( :, :, i); 

    figure(2) 

    p_epi = patch('Faces', epi_face, 'Vertices', epi_v3'); 

    set(p_epi, 'FaceAlpha', .3, 'EdgeColor', [1 1 1], 'EdgeAlpha', 0.5) 
    set(p_epi, 'Facecolor', 'r') 

    p_endo = patch('Faces', endo_face, 'Vertices', endo_v3'); 

    set(p_endo,'EdgeColor',[0 0 1]) 
    set(p_endo,'Facecolor','b') 

    axis off 
    pause(.001); 
end 

Может кто-нибудь помочь мне лучше просмотреть мое видео?

ответ

1

Если вы добавите файл LV.mat (кажется, некоторые переменные, используемые в скрипте, хранятся или могут быть сохранены в нем) будет возможно запустить ваш скрипт и посмотреть фильм.

Что касается сценария, следующие строки кода:

endo_v3 = ones(3, 758, 26); 
epi_v3 = ones(3, 758, 26); 

figure(2) 

axis off 

могут быть перемещены за пределы цикла.

Кроме того, интервал «0.001» секунд, кажется очень коротким.

Попробуйте также удалить два пятна в конце каждой итерации путем добавления

delete([p_epi p_endo]); 

только после того, как «pause(.001);»

Способ Другой подход может заключаться в использовании функции «getframe» и "movie »: на странице документации« getframe »есть полезный пример.

Надеюсь, это поможет.

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