【发布时间】:2021-12-04 05:22:54
【问题描述】:
我是初学者,对于错误提前道歉。
我有一组来自相机记录的数据,这些数据保存在具有这些尺寸 (250x300x10603x12) 的 4D 数组中。 首先是视频的尺寸(像素)。 10603 是 FrameRatexTime。 12 是我记录的主题。
我一次提取一个主题进行分析:
subj1 = data(:,:,:,1);
这将我带到一个包含主题 1 帧的数组,我可以用 implay 显示它。 现在我想为这个新数组写一个视频并保存为 .avi 格式,我使用以下代码:
v = VideoWriter('subj1.avi')
open(v)
writeVideo(v,subj1)
close(v)
但它一直给我这个错误
使用 VideoWriter/writeVideo 时出错(第 410 行)IMG 必须是一个数组 灰度或 RGB 图像。
实际上,看数组的形状,没有任何东西指向灰度或 RGB 索引。在这种情况下如何获取 .avi 文件?我必须转换数组吗? 为什么它仍然显示带有implay的视频?
澄清:我必须将数组转换为 .avi 文件的事实是因为我必须通过使用 OpenCv 将其导出到 Python 来分析它。 其实如果我直接将.mat文件导出到Python中,是无法获取Frames列表的。
【问题讨论】:
标签: arrays matlab opencv video-processing