2015-05-30 2 views
0

У меня возникли проблемы с поиском способа перемещения графической точки по экрану в фильме. Так скажем, я сюжет точку:Перемещение точки на экране видео

plot(-1.4,-1.4, '.k', 'MarkerSize', 20) 

и инициализировать объект видео

vidObj = VideoWriter('dot.avi'); 
vidObj.Quality = 100; 
vidObj.FrameRate = 10; 
open(vidObj); 

тогда как мне сделать дот шаг в правой части экрана?

ответ

0

Чтобы точка перемещалась по правому краю, вы можете написать петлю, которая отображает точку; на каждой итерации увеличиваются координаты X точки.

Внутри цикла вам также необходимо зафиксировать каждое объявление кадра, добавив его в видеофайл.

% Define the initial point's coords 
P=[-1.4,-1.4]; 
% First plot 
plot(P(1),P(2), '.k', 'MarkerSize', 20) 
% Initialize the video 
vidObj = VideoWriter('dot.avi'); 
vidObj.Quality = 100; 
vidObj.FrameRate = 10; 
open(vidObj); 
% set axis properties 
set(gca,'nextplot','replacechildren'); 
% Set xlim (max vaalue to be set according to the desired final position of 
% the point) 
set(gca,'xlim',[P(1)*2 150]); 
% Loop for the point movement: 100 step, each iteration the pont in moved 
% to the right of 1x (where x is the unito of measure of the space) 
for i = 1:100 
    plot(P(1)+i,P(2), '.k', 'MarkerSize', 20) 
% Capture the current frame 
    currFrame = getframe; 
% Add the current frame to the video file 
    writeVideo(vidObj,currFrame); 
end 
% Close the video file (stop recording) 
close(vidObj); 

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

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