2013-10-13 3 views
0

Как мой предыдущий вопрос:Преобразование размерность массива в Matlab

Я использую эту функцию я получил из интернета:

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

Я получил от этого: [Преобразование YUV CIF 4: 2: 0 для файлов с изображениями] [1]

Он печатает компоненты Y, U и V файла yuv test.yuv. Когда я напечатал:

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

Теперь, что я хотите преобразовать его обратно в исходный размер рений. Как мне это сделать?

+0

возможно дубликат [Как я могу вставить каждую строку матрицы в клетки в Matlab?] (Http://stackoverflow.com/questions/14647056/how-can-i- вставки-каждый-строка-OF-а-матрица-в-клетка-в-MATLAB) –

ответ

1

Использование mat2cell

>> Y = mat2cell(Y1, size(Y1,1), size(Y1,2), ones(1,size(Y1,3))); 
Смежные вопросы