利用matlab将图像转化成avi视频,需要用到avifile和addframe函数,下面附一段代码。 在将彩色图像转化成灰度图像并保存为视频时,经常会出现花屏的现象。造成这种现象的原因是,avi灰度视频的每一帧图像仍是三通道的,而直接灰度化的图像是单通道的,因此需要利用cat函数将单通道的灰度图像转化成三通道的图像。(见红色代码)
【例】
aviobj=avifile(aviFilename,'FPS',25,'COMPRESSION','None');%定义一个结构体
for j=1:length(img_list)
img=imread(readpath);%readpath是图像的路径
imgGray=rgb2gray(img);
imgGray=cat(3,imgGray,imgGray,imgGray);//转化成三通道图像
disp(readpath);
aviobj=addframe(aviobj,imgGray);
end
aviobj=close(aviobj);