2013-10-13 3 views
1

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

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

Я получил от этого: Convert YUV CIF 4:2:0 video file to image files

Он печатает 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

Ваши выходы - это массивы ячеек.

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

должен сделать трюк для вас.

+0

Как вы можете преобразовать его обратно в оригинал после того, как у вас есть [numberOfFrames height width]? – mc8

+0

@ mc8 Что значит «оригинал»? массив ячеек? RGB? вы можете использовать 'permute' для перехода от' [nFrames H W] 'к' [H W nFrames] '. Вы можете использовать 'mat2cell' для преобразования обратно в ячейку массива ... – Shai

+0

можете ли вы привести пример использования mat2cell с использованием размера [numberOfFrames height width] для размера [1 numberOfFrames] или [1 150], как указано выше? – mc8

 Смежные вопросы

  • Нет связанных вопросов^_^