【问题标题】:Load RAW YUV video in OPENCV在 OPENCV 中加载 RAW YUV 视频
【发布时间】:2011-11-17 18:47:09
【问题描述】:

我在 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 文件,代码运行正常(捕获不为空)。

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

编辑:输出消息是

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

谢谢

【问题讨论】:

    标签: opencv yuv


    【解决方案1】:

    OpenCV 使用 ffmpeg 作为后端,但是,它只包含 ffmpeg 函数的子集。您可以尝试安装一些编解码器。 (K-lite 前段时间帮助了我)

    但是,如果您的目标是在 OpenCV 中获取原始 YUV,答案是“不可能”。

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

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

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

    然后处理它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-15
      • 2018-02-18
      • 1970-01-01
      • 2021-03-23
      • 2013-04-01
      • 2017-01-11
      • 1970-01-01
      相关资源
      最近更新 更多