如何提高通过matlab中的视频编写器保存的电影中图像的质量?

问题描述 投票:0回答:1

我正在用3个子图在MATLAB中制作电影。当我将图形保存为png时,它看起来不错,但是在视频模式下保存时却很难看。如何改善视频图像。特别是删除多余的空白区域。也有可能看到仰角360度旋转。我正在使用Linux机器。

这里是png中的图像“两个木偶”在视频模式下保存的图像相同“两个木偶”MATLAB代码

 v = VideoWriter('myFile.avi');
 v.FrameRate = 1;
 open(v);

 h1=figure;
 set(gcf, 'PaperSize', [15 5]);
 set(gcf, 'PaperPosition', [0 0 15 5]);

 d=linspace(0,360,15); % azimuth angle 
 first=length(d);
 for j=1:first
      viewScene(j,:)=[-d(j),1];
 end

 d=linspace(-90,90,10); % elevation angle 
 for j=1:length(d)
        viewScene(j+first,:)=[-38,d(j)];
 end
 final=first+length(d);

 for t=1:final
     for i=1:3 
         subplot(1,3,i)
         plot3()
         hold on 
         plot3()
         axis vis3d;
         view(viewScene(t,:))
         set(findobj(gcf,'type','axes'),'visible','off');
     end
     frame=getframe(gcf);
     writeVideo(v,frame)
     hold off 
  end
  close(v);
matlab-figure
1个回答
0
投票

默认情况下,VideoWriter创建一个Motion JPEG-AVI文件。您可以修改质量参数以获得更好质量的图像。 Quality = 100可获得最佳效果。

[另一个选择是编写未压缩的AVI,它将按原样写入数据而没有任何损坏,但会导致文件变大。您也可以尝试使用RGB2IND函数将图像转换为索引图像,并编写一个索引AVI,该索引也是无损的,其大小约为未压缩AVI的1/3。

您也可以尝试MPEG-4。

事实是,MJPEG和MPEG-4用于压缩自然风景图像,而高频信息即边缘和过渡丢失了。您的图像不是自然风光,因此是可以预期的。

© www.soinside.com 2019 - 2024. All rights reserved.