유체에서 입자를 모방 한 동영상을 생성하는 함수를 작성했습니다. 이 영화는 착색되어 있으며 처음에는 회색 음영의 영화를 만들고 싶습니다. 지금 저는 비디오 라이너 대신 avifile을 사용하고 있습니다. 그레이 스케일 동영상을 얻으려면이 코드를 변경하는 데 도움이 필요합니까? 미리 감사드립니다.Videowriter/avifile을 사용하여 그레이 스케일 비디오 작성
close all;
clear variables;
colormap('gray');
vidObj=avifile('movie.avi');
for i=1:N
[nx,ny]=coordinates(Lx,Ly,Nx,Ny,[x(i),-y(i)]);
[xf,yf]=ndgrid(nx,ny);
zf=zeros(size(xf))+z(i);
% generate a frame here
[E,H]=nfmie(an,bn,xf,yf,zf,rad,ns,nm,lambda,tf_flag,cc_flag);
Ecc=sqrt(real(E(:,:,1)).^2+real(E(:,:,2)).^2+real(E(:,:,3)).^2+imag(E(:,:,1)).^2+imag(E(:,:,2)).^2+imag(E(:,:,3)).^2);
clf
imagesc(nx/rad,ny/rad,Ecc);
writetif(Ecc,i);
if i==1
cl=caxis;
else
caxis(cl)
end
axis image;
axis off;
frame=getframe(gca);
cdata_size = size(frame.cdata);
data = uint8(zeros(ceil(cdata_size(1)/4)*4,ceil(cdata_size(2)/4)*4,3));
data(1:cdata_size(1),1:cdata_size(2),1:cdata_size(3)) = [frame.cdata];
frame.cdata = data;
vidObj = addframe(vidObj,frame);
end
vidObj = close(vidObj);
@NitsornWongsajjathiti - 안녕하세요. 왜 내 대답을 받아들이지 않았 니? 이 작동하지 않았나요? – rayryeng
죄송합니다! 그건 실수 였어. –
@NitsornWongsajjathiti - 문제 없습니다! 그냥 궁금 해서요. 수정 주셔서 감사합니다 :) – rayryeng