OpenCV Java将文件绑定VideoCapture以静默方式失败

时间:2014-04-21 14:57:02

标签: java opencv video ffmpeg

我正在使用随附的Windows 64bit Java jar使用OpenCV 2.4.8。到目前为止,我一直在目前的环境中充分利用OpenCV。

我无法使用打开视频文件 VideoCapture类,但网络摄像头Feed工作正常。

以下工作正常,video.isOpened返回true

    VideoCapture video = new VideoCapture();
    boolean result = video.open(0);

以下内容失败,video.isOpened返回false

    VideoCapture video = new VideoCapture();
    boolean result = video.open("res/hand-test-1.mp4");

两种文件格式似乎都没有区别(这些都是转换的,而不仅仅是希望重命名)

    video.open("res/hand-test-1.mp4");
    video.open("res/hand-test-1.avi");
    video.open("res/hand-test-1.wmv");

位置似乎也不重要。

    video.open("C:/hand-test-1.mp4");
    video.open("C:\\hand-test-1.mp4");
    video.open("hand-test-1.mp4");

垃圾,也没有异常从OpenCV通过Java启动,似乎无声地失败。

    video.open("ashdkfhkajsjdfkhaksdf");

PATH包含随opencv安装提供的ffmpeg目录,

    C:\dev\opencv\sources\3rdparty\ffmpeg

现在我的想法已经用完了,似乎我通过video.open(String)扔给本地人的任何东西都会返回false。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:3)

我遇到了与OpenCV 2.4.9相同的问题。固定事物的解决方案在将PATH变量设置为" bin" OpenCV安装目录的目录,例如" C:\ opencv \ build \ x64 \ vc11 \ bin"。

答案 1 :(得分:2)

我有同样的问题(也是2.4.9)。我通过将opencv.dll复制到bin文件夹并通过eclipse链接到它来解决它。这可以通过以下方式完成:

  1. opencv_java249.dll中的/opencv/build/java/x64复制到/opencv/build/x64/vc12/bin

  2. 在eclipse中右键单击项目 - >属性 - > Java构建路径 - >库。 应该列出Opencv,如果不是通过Add external JAR添加它。 (opencv-249.jar可以在/opencv/build/java找到。

  3. 点击opencv-249.jar - >原生图书馆位置 - >修改

  4. 现在导航至/opencv/build/x64/vc12/bin并保存。

  5. OpenCV现在应该可以打开文件了。