2013-11-22 75 views
1

我与OpenCV 2.4.7的新版本差不多一周(使用2.4.2版本)。我对新设置的动机是使用Videowriter处理未压缩的灰度视频(http://answers.opencv.org/question/3603/videowriter-videocapture-and-uncompressed-avi/)时遇到问题。在https://github.com/Itseez/opencv/pull/1516“akarsakov”建议在没有vfw支持的情况下构建OpenCV,并通过ffmpeg打开未压缩的视频。这就是我想要做的。我基本上遵循这个视频中提到的说明:http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html带有FFMpeg支持的OpenCV 2.4.7支持与VS 2010(x86)构建

我已经用Qt 5.1.1(http://answers.opencv.org/question/24184/how-to-compile-opencv-247-with-qt-and-ffmpeg/)成功构建opencv。但是我无法为Video Video工具获取VideoWriter &。所以我做了什么:

  1. 我从http://ffmpeg.zeranoe.com/builds/

  2. 下载最新的ffmpeg构建我产生了VS2010项目禁用的VfW和启用的ffmpeg代替:

    Video I/O: 
    
    Video for Windows:   NO 
    DC1394 1.x:     NO 
    DC1394 2.x:     NO 
    FFMPEG:      YES (prebuilt binaries) 
        codec:      YES (ver 55.18.102) 
        format:     YES (ver 55.12.100) 
        util:      YES (ver 52.38.100) 
        swscale:     YES (ver 2.3.100) 
        gentoo-style:    YES 
        OpenNI:     NO 
    OpenNI PrimeSensor Modules: NO 
    PvAPI:      NO 
    GigEVisionSDK:    NO 
    DirectShow:     YES 
    Media Foundation:   NO 
    XIMEA:      NO 
    
  3. 我添加了包括目录并将libs for ffmpeg添加到highgui模块。

我是不是能够编译OpenCV中没有任何错误,但我所看到的行为是不是我所期望:

  1. 构建OpenCV的2.4.7没有的VfW - > VideoWriter.open()返回总是假的!
  2. 使用VfW构建OpenCV 2.4.7 - > VideoWriter.open()在该时间返回true,在同一对象上调用release()和open()将始终返回false。
  3. 带或不带ffmpeg - > VideoCapture.open()会提供一条错误消息,要求输入libiconv-2dll!

有些人有同样的问题,并能指出我的错误吗?

预先感谢您。 欢呼声

+0

不确定你的具体情况,但这个SO问题解决了我的问题:http://stackoverflow.com/questions/11699298/opencv-2-4-videocapture-not-working-on-windows – Paul

回答

1

OpenCV 2.4.7需要更新版本的FFmpeg才能工作,但这似乎并不是问题,因为你已经覆盖了这个问题。

您的问题的原因可能是bug#2281VideoCapture::read fails on uncompressed video

作为一个中介解决方案,我建议你降级到OpenCV 2.4.5。

+0

非常感谢你重播。我想现在没有别的办法了。 这很烦人,原因是由于这个错误与合并请求1516(https://github.com/Itseez/opencv/pull/1516)我做了更新:​​-S。无论如何,谢谢 。干杯 – GregPhil