0

我正在尝试将 AVI 文件读入 Matlab,但在剪切帧时遇到问题。我正在使用 Mathworks for VideoReader 的 Matlab 代码,只做了一些小的修改。

xyloObj = VideoReader('video.avi');

nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;

% Preallocate movie structure.
mov(1:nFrames) = ...
    struct('cdata', zeros(vidHeight, vidWidth, 3, 'uint8'),...
           'colormap', []);

% Read one frame at a time.
for k = 1 : nFrames
    mov(k).cdata = read(xyloObj, k);
end

imagesc(mov(1).cdata)
colormap gray

以下是视频中的单帧。有没有人遇到过这个?该视频由PI Connect 红外摄像机制作。该视频在 VLC 中播放时没有显示剪切。我知道我可以通过简单的图像处理操作来纠正剪切,但我宁愿完全避免这个问题。提前致谢。 图片

4

1 回答 1

0

我通过使用Virtual Dub将文件从 YUY2 转换为 RGB24 解决了这个问题。新文件大了 50%,但 Matlab 可以正确读取,无需剪切。

于 2013-03-08T10:09:11.450 回答