我有一组存储在数组中的图像,按如下方式创建:
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))
,我会得到一个正确的图像,以便图像在数组中正确映射。
在将帧设置为视频之前,我应该做些什么吗?
答案 0 :(得分:1)
可能是您的NewVideo
是double
数组,其值范围为[0..255]
。
尝试
>> implay( uint8(NewVideo), 10 );
或
>> implay( NewVideo/255, 10 );