在OPENCV中加载RAW YUV视频



我在OpenCV中有一个RAW YUB视频加载问题。我可以用以下命令在mplayer中播放它:

mplayer myvideo.raw -rawvideo w=1280:h=1024:fps=30:y8 -demuxer rawvideo

我的代码加载在OpenCV是:

CvCapture* capture=cvCaptureFromFile("C:\myvideo.raw");

cvCaptureFromFile总是返回NULL。但是如果我尝试使用正常的avi文件,代码正常运行(捕获不是null)。

我正在使用Windows 7下的最新版本的OpenCV。

编辑:输出消息为

[IMGUTILS @ 0036f724] Picture size 0x0 is invalid  
[image2 @ 009f3300] Could not find codec parameters (Video: rawvideo, yuv420p)

谢谢

OpenCV使用ffmpeg作为后端,但是它只包含ffmpeg函数的一个子集。你可以尝试安装一些编解码器。(K-lite不久前帮过我)

但是,如果你的目标是在OpenCV中获得原始YUV,答案是"不可能"。

OpenCV是硬编码的,可以将每种输入格式转换为BGR,所以即使你能够打开原始输入,它也会在传递之前自动将其转换为BGR。没有机会解决这个问题,唯一的方法是使用不同的捕获库或入侵OpenCV。

你能做的(模拟YUV输入)是捕获avi,转换为YUV

cvtColor(...,CV_BGR2YCBCR /* or CV_BGR2YUV */ );

,然后处理

最新更新