我有一个简单的MATLAB序列,用于从uint16图像集合中创建AVI电影:
video = VideoWriter( vidName );
video.FrameRate = ( frmRate );
open( video );
for i=1:size
img = imread( picNames(i).name );
writeVideo( video, img );
end
close( video );
这会产生错误IMG must be one of the following classes: double, single, uint8
。关于如何在不损失精度或增加压缩的情况下解决这个问题的任何想法?
答案 0 :(得分:4)
您应该在writeVideo( video, img );
之前添加以下行:
img=im2double(img);
你不会失去精确度。