2017-03-03 953 views
0

我一直在尝试让opencv在我们的覆盆子pi中工作,但是我一直无法得到它的工作。我做了一个新的eclipse项目,添加到OpenCV库中,并粘贴了一些超级简单的代码。java.lang.UnsatisfiedLinkError:org.opencv.core.Mat.n_Mat(III)J?

import org.opencv.core.Core; 
import org.opencv.core.CvType; 
import org.opencv.core.Mat; 

public class Hello 
{ 
    public static void main(String[] args) 
    { 
     System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
     Mat mat = Mat.eye(3, 3, CvType.CV_8UC1); 
     System.out.println("mat = " + mat.dump()); 
    } 
} 

但我得到的错误:

java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J

反正是有解决这个问题?我没有想法。

回答

0

可以加载所述程序库是这样的:首先调用此方法

public static void loadOpenCV_Lib() throws Exception { 
    // get the model 
    String model = System.getProperty("sun.arch.data.model"); 
    // the path the .dll lib location 
    String libraryPath = "C:/opencv/build/java/x86/"; 
    // check for if system is 64 or 32 
    if(model.equals("64")) { 
     libraryPath = "C:/opencv/build/java/x64/"; 
    } 
    // set the path 
    System.setProperty("java.library.path", libraryPath); 
    Field sysPath = ClassLoader.class.getDeclaredField("sys_paths"); 
    sysPath.setAccessible(true); 
    sysPath.set(null, null); 
    // load the lib 
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
} 

注:在以上代码OpenCV的在C驱动器根文件夹已萃取。

编辑:在Eclipse中,你也可以像这样做:用鼠标右键单击该项目- >构建路径- >配置构建路径- >库(标签)- >花费OpenCV jar - >原生库位置:- > Eidt - >把这个; C:/opencv/build/java/x64/- > OK - >应用...

+0

我在Linux上运行这一点,没有看到任何java文件夹中生成文件夹 – TheGuyWhoCodes