从R生成的png在MATLAB中生成视频

时间:2018-02-16 06:05:15

标签: r matlab ggplot2

我使用ggplot在R中生成了多个.png图,我需要制作这些图的视频。我正在尝试使用MATLAB来达到这个目的。我能够生成视频,但质量很差,视频中没有颜色可见,尽管我的.png文件是彩色的。 ggplot命令如下所示:

ggplot(vel1,aes(vel1[,1],vel1[,2],color=vel1[,14639])) +geom_point()+ scale_color_manual(breaks = c("8", "6", "4"), values=c("red", "blue", "green"))

我使用的MATLAB代码是:

writerObj = VideoWriter('1889_2121.avi');
writerObj.FrameRate=15;
open(writerObj);
for K = 1889:2:2121
  filename = sprintf('vel_cluster%d.png', K);
  thisimage = imread(filename);
  writeVideo(writerObj, thisimage);
end
close(writerObj);

您可以在Sample Files for testing访问示例.png文件和视频。你能帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您没有打开相应的色彩映射。

thisimage = imread(filename);

返回像素的uint8值。

[thisimage,map] = imread(filename);

为您提供要使用的色彩映射。

frame.cdata=thisimage;frame.colormap=map;
writeVideo(writerObj, frame);

应该这样做。

但我同意评论者认为,与Matlab相比,gganimate应该更适合你想做的事。