如何在OpenCV(Java)中加载视频

问题描述 投票:0回答:2

我正在尝试在 OpenCV Java 中加载视频文件,并将问题范围缩小到以下代码:

import org.opencv.core.Core;
import org.opencv.videoio.VideoCapture;

public class OpenCVTest {
  public static void main(String[] args) {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    System.loadLibrary("opencv_videoio_ffmpeg455_64");

    VideoCapture capture = new VideoCapture("myVideoFile.avi");
    System.out.println(capture.isOpened());
  }
}

当然,这总是打印出“false”。使用

new VideoCapture(0)
访问我的计算机摄像头效果很好。在互联网上搜索后,我对为什么无法加载视频感到非常困惑。我遵循的指南建议我需要将“opencv_videoio_ffmpeg455_64.dll”添加到我的路径变量并调用
System.loadLibrary
。我对此很陌生,说实话,我不明白
loadLibrary
的作用,或者我的设置和代码可能有什么问题。有任何想法吗?预先感谢。

java opencv video-capture
2个回答
1
投票

这是类似问题的答案

  1. 加载ffmpeg库
    System.loadLibrary("opencv_ffmpeg300_64");
  2. 打开文件:
    VideoCapture vC = new VideoCapture("res/video.mp4");
  3. opencv_ffmpeg300_64.dll
    opencv\build\x64\vc11\bin
    复制到
    opencv\build\java\x64

请注意,64 和

.dll
可能因操作系统而异,这些适用于 Windows x64


0
投票

事实证明,我使用了错误的文件路径。我(错误地)假设

new VideoCapture("my file")
会在编译后的 .class 文件所在的目录中搜索“我的文件”,而实际上它在项目根目录中搜索。无需打电话
System.loadLibrary("opencv_videoio_ffmpeg455_64");

© www.soinside.com 2019 - 2024. All rights reserved.