2017-05-31 118 views
0

我真的不知道我在做什么错误,所以请和我一起袒护。几个星期前,我发现这个教程用于opencv和javacv的手势检测。我开始使用这个例子,但一遍又一遍地重复着同一个错误。加载javacpp和javcv时出错

以下是错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_objdetect in java.library.path 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864) 
    at java.lang.Runtime.loadLibrary0(Runtime.java:870) 
    at java.lang.System.loadLibrary(System.java:1122) 
    at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593) 
    at com.googlecode.javacpp.Loader.load(Loader.java:489) 
    at handDectector.Handy.<init>(Handy.java:32) 
    at handDectector.Handy.main(Handy.java:56) 
Caused by: java.lang.UnsatisfiedLinkError: no opencv_objdetect248 in java.library.path 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864) 
    at java.lang.Runtime.loadLibrary0(Runtime.java:870) 
    at java.lang.System.loadLibrary(System.java:1122) 
    at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593) 
    at com.googlecode.javacpp.Loader.load(Loader.java:481) 

我看了很多帖子在线网上与此相关的问题,人们发现了同样的javacpp和javacv文件相关的问题。我尝试了几次,但没有奏效。

下面是代码:

package handDectector; 

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

import org.opencv.core.Core; 

import java.io.*; 

import com.googlecode.javacv.*; 
import com.googlecode.javacv.cpp.*; 
import com.googlecode.javacpp.Loader; 



public class Handy extends JFrame 
{ 
    // GUI components 
private HandPanel handPanel; 


    public Handy() 
    { 
    super("Hand Detector"); 

    Container c = getContentPane(); 
    c.setLayout(new BorderLayout()); 


    // Preload the opencv_objdetect module to work around a known bug. 
    Loader.load(opencv_objdetect.class); 

    handPanel = new HandPanel(); // the webcam pictures and drums appear here 
    c.add(handPanel, BorderLayout.CENTER); 

    addWindowListener(new WindowAdapter() { 
     public void windowClosing(WindowEvent e) 
     { handPanel.closeDown(); // stop snapping pics, and any drum playing 
     System.exit(0); 
     } 
    }); 

    setResizable(false); 
    pack(); 
    setLocationRelativeTo(null); 
    setVisible(true); 
    } // end of Handy() 


    // ------------------------------------------------------- 

    public static void main(String args[]) 
    { 

    new Handy(); 

    } 

} // end of Handy class 

问题在于不存在的opencv_obj文件。

我对这个图书馆没有太多的经验。如果有人能帮我解决这个问题,有没有可能?我知道肯定有关于github和stackoverflow上的帖子关于相同的确切问题......但他们都使用maven。是否有可能做到没有maven?

问候

回答

0

link给出了手动安装说明。

但是,我强烈建议您使用maven或某些依赖项管理工具。如果您坚持手动完成此操作,则可能需要尝试添加此linkdependencies部分中列出的所有依赖项。