【问题标题】:OpenCV 3.0 VideoCapture doesn't open video file in JavaOpenCV 3.0 VideoCapture 无法在 Java 中打开视频文件
【发布时间】:2015-04-27 15:10:23
【问题描述】:

使用 Java 的 OpenCV 3.0 无法打开视频文件,但可以使用相机。在我使用 OpenCV 3.0-beta 之前,它在两者中都运行良好,但在 2015 年 4 月 24 日发布的 OpenCV 3.0 中不适用于视频文件。

如果有人知道OpenCV 3的这个问题,请告诉我原因以及如何解决这个问题。

【问题讨论】:

    标签: opencv3.0


    【解决方案1】:

    我这样解决了我的问题:将C:\opencv\build\x64\vc12\bin 复制到系统路径并重新启动Eclipse。

    希望这对可能遇到 OpenCV 3.0 问题的人有所帮助。

    【讨论】:

    • 谢谢!我只是收到一个无用的“无法打开视频文件”。看起来好像没有找到视频文件的消息。我添加了路径,它起作用了。我猜它只是没有找到 ffmpeg 库。是否有另一个错误日志可以提供有关此类问题的更多信息?
    • 不客气。不,没有关于这个错误的更多信息,通常 OpenCV 在抛出一些异常时不会提供更多信息。而且我还有一个问题是新版本的 OpenCV (3.0) 我无法编写 Video,因为 OpenCV Java 绑定中没有 VideoWriter 类。你能告诉解决方案如何写帧。谢谢
    • 不,我没有尝试写帧,只从 mp4 读取帧,这在 Opencv 3.0 中对我来说很好。听起来这个问题可能值得一个不同的stackoverflow问题线程。
    【解决方案2】:

    即使将C:\opencv\build\x64\vc12\bin 添加到SYSTEM 路径后,如果您无法打开VideoCapture,您也可以尝试从opencv/build/java/x64opencv\build\x64\vc14\bin 处理opencv_ffmpegXXX_64.dll。我不知道为什么这有效,但尝试后它对我有用:

    https://stackoverflow.com/a/29920295/677185https://github.com/opencv/opencv/issues/4974

    【讨论】:

      【解决方案3】:

      一般opencv_ffmpegXXX.dll文件不放在opencvjavaXXX.dll文件夹下,所以需要在java代码中加载两个库

      你应该试试这个。

      System.loadLibrary(Core.NATIVE_LIBRARY_NAME); // for OpencvjavaXXX.dll 
      
      System.loadLibrary("opencv_ffmpeg320_64"); // for OpenCV_ffmpegXXX.dll file 
      

      您可以在(字符串)参数中指定完整的 DLL 文件路径

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-30
        • 2021-03-22
        • 2018-07-26
        • 2014-01-20
        • 2013-01-22
        • 2012-07-13
        • 2017-09-28
        • 2017-11-12
        相关资源
        最近更新 更多