2013-10-13 117 views
0

正如我剛纔的問題:轉換陣列的尺寸在Matlab

我使用這個功能,我從網上找來:

>>[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 = 

現在,我想要將其轉換回原來的尺寸sions。我該怎麼做?

+0

的[我怎樣才能插入一個矩陣的每一行成在Matlab細胞?(可能重複http://stackoverflow.com/questions/14647056/how-can-i-插入-每個行對的一矩陣入細胞功能於MATLAB) –

回答

1

使用mat2cell

>> Y = mat2cell(Y1, size(Y1,1), size(Y1,2), ones(1,size(Y1,3)));