0

和我之前的问题一样:

我正在使用从互联网上获得的这个功能:

>>[Y,U,V]=yuv_import('test.yuv',[176 144],150,0)

我来自:[将 YUV CIF 4:2:0 视频文件转换为图像文件][1]

它打印出 yuv 文件 test.yuv 的 Y、U 和 V 分量。当我输入:

>>Y

它显示:

Y = 

  Columns 1 through 5

    [144x176 double]    [144x176 double]    [144x176 double]    [144x176 double]    [144x176 double]

............... 

  Columns 146 through 150

    [144x176 double]    [144x176 double]    [144x176 double]    [144x176 double]    [144x176 double]

和..

>>size(Y)

显示:

ans =

     1   150

对 U 和 V 组件执行相同操作也显示了相同的结果。

并且..

>>Y(150)

显示:

ans = 

    [144x176 double]

我想要的是为 Y、U 和 V 创建一个数组,其尺寸为 [numberOfFrames 高度宽度] 或 [150 144 176]。我怎样才能做到这一点?

[1]: http: //www.mathworks.com/matlabcentral/fileexchange/6318

我通过使用得到了解决方案

>>Y = cat(3, Y{:} );

我有一个

>>size(Y1)

ans =

144 176 150

现在,我想要将它转换回原来的尺寸。我该怎么做?

4

1 回答 1

1

利用mat2cell

>> Y = mat2cell( Y1, size(Y1,1), size(Y1,2), ones(1,size(Y1,3)) );
于 2013-10-13T14:26:54.620 回答