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