そこで、MATLABで、特定の場所に灰色の円がいくつか含まれているムービーを作成しようとしています。円の1つは、その過程で黒から白に変化します。しかし、フィギュアウィンドウに表示するのではなく、画面全体に適切な解像度で画像を記録するだけでは不十分です。これが私がこれまでに得たものです:
h=ones(1080,1920);
trap1=.5*circ(1920,1080,55,532,534,2);
trap2=.5*circ(1920,1080,55,528,798,2);
pcf=circ(1920,1080,18,1520,504,2); %Makes the circles
for ii=1:256
pcfl=pcf*(ii-1)/255; %Steps through greylevels
m=h.*(trap1+trap2+pcfl); %Make everything but the circles black
hfig=imshow(m); %Display image
colormap('gray') %This is probably unnecessary
mov(ii)=getframe(gcf);
end
myVideo = VideoWriter('trapmov.avi');
open(myVideo);
writeVideo(myVideo,mov)
close(myVideo)
私はこれとこれが私が望むもの(特に2番目のもの)に近いように見えることを見つけましたが、最初のものから映画を作ることができるようにJavaについて十分に知りません、そして2番目のものはそうではありません画像の解像度が1920x1080ではないと主張しているため、機能します。これは、関数が「到達」する前に、MATLABが画像をスケーリングするためだと思います。
ループの各反復からの画像を保存し、それから.gifを作成するだけで機能させることができるかもしれませんが、それをフルスクリーンで表示する方法がわかりません。 VLCで再生を制御できます。
通常のプロットでこれを行う方法もあります。
set(hfig,'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
ただし、これは、image / imshowではなく、plotコマンドで作成されたオブジェクトでのみ機能します。
編集:OK私はあきらめて.gifを作成しましたが、Chromeのフルスクリーンモードで動作しますが、方法を知ることはかなり便利なことのように思われるので、これに対する解決策はまだ素晴らしいでしょう。