2017-03-03 134 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