【发布时间】:2013-11-22 10:49:27
【问题描述】:
我与新版本的 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
我已经使用 Qt 5.1.1 (http://answers.opencv.org/question/24184/how-to-compile-opencv-247-with-qt-and-ffmpeg/) 成功构建了 opencv。但我无法让 VideoWriter & VideoCapture 为我工作。所以我做了什么:
我从http://ffmpeg.zeranoe.com/builds/下载了最新的ffmpeg构建
-
我生成了禁用 VfW 并启用 ffmpeg 的 vs2010 项目:
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 我将 ffmpeg 的包含目录和库添加到 highgui 模块中。
我无法在没有任何错误的情况下编译 OpenCV,但我看到的行为不是我所期望的:
- 在没有 VfW 的情况下构建 OpenCV 2.4.7 -> VideoWriter.open () 总是返回 false!
- 使用 VfW 构建 OpenCV 2.4.7 -> VideoWriter.open () 暂时返回 true,在同一对象上调用 release() 和 open() 始终返回 false。
- 使用或不使用 ffmpeg -> VideoCapture.open () 会给出错误消息,要求使用 libiconv-2dll!
是否有些人有同样的问题并且能够指出我的错误?
提前谢谢你。 干杯
【问题讨论】:
-
不确定您的具体情况,但这个 SO 问题解决了我的问题:stackoverflow.com/questions/11699298/…