0
ムービー内を移動するパーティクルの周りに円を追加したいと思います。私はすべてのフレーム(変数Traj
)のパーティクルの座標を与えます。しかし、次のコードでは、フレームごとにパーティクルの上にソリッドの四角形が描画されます。助言がありますか?Matlab - 動画のすべてのフレームに円を追加する
function movie = AurelieCreateMovie3(Filename, Traj)
L = 369;
color = [1:3];
R = 7;
info = imfinfo(Filename);
W = info.Width;
H = info.Height;
movie = uint8(zeros(H,W,3,L));
frame = Traj(:,1);
x = round(Traj(:,2));
y = round(Traj(:,3));
L = length(x); %length of this track
dt = 0:0.01:2*pi;
for k = 1:L
movie(:,:,:,k) = imread(Filename,frame(k));
x_circle = R.* cos(dt) + x(k);
y_circle = R.* sin(dt) + y(k);
movie(round(y_circle), round(x_circle), color, k) = 255;
end
mov = immovie(movie);
movie2avi(mov, 'moviefinal', 'compression', 'None', 'fps', 23);
implay(mov);
end
を用いて線形インデックスに変換したいと思う "映画(ラウンド(y_circle)、ラウンド(x_circle)、色、K)= 255;"それは私にエラーが表示されます:sub2indを使っているエラー範囲外の添え字 – user6275697
@ user6275697あなたが4Dマトリックスにインデックスを作成していた場所を見逃しました。私はその場合に動作するように更新しました。 – Suever
申し訳ありませんが、前と同じエラーが表示されます – user6275697