OpenCV错误JAVA NETBEANS

OpenCV错误JAVA NETBEANS,java,netbeans,javacv,image-capture,Java,Netbeans,Javacv,Image Capture,我在使用javacv库运行项目后出现此错误 Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870

我在使用javacv库运行项目后出现此错误

   Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java2411 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at webcam.cam.main(cam.java:181)

您可以使用以下方法:

public static void loadOpenCVLib(String path) throws Exception {
    File lib_dir = new File(path);
    System.setProperty("java.library.path", lib_dir.getAbsolutePath());
    Field sys_paths = ClassLoader.class.getDeclaredField("sys_paths");
    sys_paths.setAccessible(true);
    sys_paths.set(null, null);
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    // it is for the ffmpeg name
    String[] list = lib_dir.list();
    assert list != null;
    String ffmpeg_dll_file_name = null;
    for (String s : list) {
        if (s.contains("ffmpeg")) {
            ffmpeg_dll_file_name = s.substring(0, s.indexOf("."));
        }
    }
    System.loadLibrary(ffmpeg_dll_file_name);
}
现在在某个地方创建一个文件夹,并将其命名为opencv_lib,例如:D:\opencv_lib,然后将opencv dll和ffmpeg dll文件放入该文件夹中,然后在运行程序时首先调用上述方法,例如:

loadOpenCVLib("D:\\opencv_lib");
现在没事了


注意:最好下载并使用最新版本的

@KurtRuzell,因为它必须正常工作。我已经使用了很长一段时间,在许多项目中,在不同的机器上没有任何问题,所以在您使用的方式中可能有一些错误。这段代码只是在Java类路径中添加DLL,然后加载lib,Java VM可以找到它。10月20日,2017年8:16:13 PM webcam.cam main严重:null java.lang.NullPointerException at java.lang.Runtime.loadLibrary0Runtime.java:866 at java.lang.System.loadLibrarySystem.java:1122 at webcam.cam.loadOpenCVLibcam.java:62 at webcam.cam.maincam.java:220@KurtRuzell隐马尔可夫模型,但是代码中没有问题,因为我只是在使用。它现在正在工作,先生,但我的下一个问题是OpenCV错误:未指定的错误无法找到指定扩展的编写器。首先,如果上述答案代码解决了您的问题,那么根据Smackover流规则,接受并投票赞成答案,因此,如果其他人也有同样的问题,请知道这就是答案。好的,那么你的下一个问题是什么,你是怎么得到这个错误的?