Matlab 彩色图像转化成灰度视频的花屏问题

   利用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);
 

 

你可能感兴趣的:(list,matlab,avi,compression)