Я использую эту функцию я получил из интернета: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]. Как я могу это сделать?
Как вы можете преобразовать его обратно в оригинал после того, как у вас есть [numberOfFrames height width]? – mc8
@ mc8 Что значит «оригинал»? массив ячеек? RGB? вы можете использовать 'permute' для перехода от' [nFrames H W] 'к' [H W nFrames] '. Вы можете использовать 'mat2cell' для преобразования обратно в ячейку массива ... – Shai
можете ли вы привести пример использования mat2cell с использованием размера [numberOfFrames height width] для размера [1 numberOfFrames] или [1 150], как указано выше? – mc8