Matlab中的YUV视频处理
Posted
技术标签:
【中文标题】Matlab中的YUV视频处理【英文标题】:YUV video processing in Matlab 【发布时间】:2013-10-13 08:08:43 【问题描述】:我正在使用我从互联网上获得的这个功能:
>>[Y,U,V]=yuv_import('test.yuv',[176 144],150,0)
我来自:Convert YUV CIF 4:2:0 video file to image files
它打印出 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】:您的输出是元胞数组。
>> Y = cat(3, Y: );
应该为您解决问题。
【讨论】:
拥有 [numberOfFrames 高度宽度] 后,如何将其转换回原始状态? @mc8 “原创”是什么意思?一个单元阵列?一个RGB?您可以使用permute
将[nFrames H W]
更改为[H W nFrames]
。您可以使用mat2cell
转换回元胞数组...
你能举个例子,说明如何使用 mat2cell 使用 size [numberOfFrames height width] 到 size [1 numberOfFrames] 或 [1 150] 像上面一样?以上是关于Matlab中的YUV视频处理的主要内容,如果未能解决你的问题,请参考以下文章