0

AVI ファイルを Matlab に読み込もうとしていますが、フレームがずれているという問題があります。Mathworks の 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

以下は、ビデオの 1 フレームです。誰もこれに遭遇したことがありますか?このビデオは、PI Connect 赤外線カメラによって生成されました。VLC で再生すると、ビデオはずれません。簡単な画像処理操作でせん断を修正できることはわかっていますが、問題を完全に回避したいだけです。前もって感謝します。 画像

4

1 に答える 1

0

Virtual Dubを使用してファイルを YUY2 から RGB24 に変換することで問題を解決しました。新しいファイルは 50% 大きくなりますが、Matlab はせん断なしで正しく読み取ることができます。

于 2013-03-08T10:09:11.450 に答える