作业帮 > 综合 > 作业

matlab中cat函数的意义.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/04 00:12:03
matlab中cat函数的意义.
>> pixels = cat(4,avi(1:2:4).cdata);
>> pixels(360,480,3,2)
这句函数的具体意义是什么,
p.s.avi是视频,尺寸是360*480,cat函数在这里的具体意义是什么,求指导,
我们把命令一层一层的解释:avi(1:2:4)是把视频数据avi的第1、3帧给提取出来,得到的是一个2元素的结构体;avi(1:2:4).cdata提取把上面说的结构体的画面数据,得到两个360*480*3的三维数组;cat(4,avi(1:2:4).cdata)把两个数组沿第四维拼接,得到一个360*480*3*2的四维数组;pixels(360,480,3,2)取出上述数组的一个元素,其含义是第三帧画面右下角像素的蓝色颜色值. 
再问: 谢谢。不好意思我还有一些疑问: 1)最后一个语句中2是代表蓝色的颜色值么,那红色和绿色怎么表示? 2)所谓三维、四维的意义,以及为什么要这么拼接呢? 我还是matlab新手菜鸟,才接触不久,承蒙指教,谢谢了!
再答: 1)pixels(360,480,3,2)中的倒数第二个下标3才是表示蓝色,如果换成1是红,2是绿。 2)真彩图像数据本身就是三维的,宽和高各占一维,第三维是红绿蓝颜色分量,而上面的语句是提取了两帧图像放在一起,所以又多了一维,即第四维。
再问: 真是太谢谢了!