从MATLAB中存储在Array中的RGB数据创建一部电影

时间:2013-05-13 13:37:41

标签: matlab frame video-processing

我有一组存储在数组中的图像,按如下方式创建:

NewClip = cat(4, NewClip, SingleFrame);

其中SingleFrame是RGB帧

我正在将数组NewClip传递给一个新函数来创建一个电影,如下所示:

    for ThisScene=1:K
    for ThisFrame=1:NewVideoRelativeLength
        NewVideo(:,:,:,TempIndex)=NewClip(:,:,:,ThisScene);
        TempIndex=TempIndex+1;
    end
end

其中我迭代使每个帧显示固定长度......

这样做我得到一个红色像素和蓝色和黄色的视频而不是电影中的实际图像。如果我imshow(NewClip(:,:,:,2)),我会得到一个正确的图像,以便图像在数组中正确映射。

在将帧设置为视频之前,我应该做些什么吗?

1 个答案:

答案 0 :(得分:1)

可能是您的NewVideodouble数组,其值范围为[0..255]
尝试

>> implay( uint8(NewVideo), 10 );

>> implay( NewVideo/255, 10 );