簡體   English   中英

Eclipse中的OpenCV 3.0.0 java.lang.UnsatisfiedLinkError

[英]OpenCV 3.0.0 java.lang.UnsatisfiedLinkError in Eclipse

我試圖使用OpenCV 3.0.0設置Eclipse(Neon版本),但遇到了問題。 當我加載圖像時,下面的代碼:

Mat m = Imgcodecs.imread("newimage.jpg");

引發以下錯誤:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)J
    at org.opencv.imgcodecs.Imgcodecs.imread_1(Native Method)
    at org.opencv.imgcodecs.Imgcodecs.imread(Imgcodecs.java:82)
    at TestOpenCVFeats.main(TestOpenCVFeats.java:39)

一切都根據該站點進行設置。在Eclipse中設置Java OpenCV

還使用以下命令將路徑添加到java.library.path中:

export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/usr/local/share/OpenCV/java

確認存在:

java -XshowSettings:properties

以及$ PATH變量。

還將此命令添加到JVM運行配置中:

-Djava.library.path= "/usr/local/share/OpenCV/java"

也嘗試過使用以下代碼行,並且沒有它:

System.loadLibrary("libopencv_java300");

路徑/ usr / local / share / OpenCV / java上文件的權限為:

-rwxr-xr-x 1 root root 831809 Srp  1  2015 libopencv_java300.so
-rwxr-xr-x 1 root root 300815 Srp  1  2015 opencv-300.jar

我嘗試了所有可能的組合,但仍然收到相同的錯誤。 我不知道我還能嘗試做些什么。 當我執行c ++(Eclipse Luna)或python代碼時,OpenCV可以正常工作。 我的操作系統是Ubuntu 14.04。

任何幫助深表感謝。

好的,找到解決方案。 這行代碼需要在main中添加:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

如果要使用Eclipse在Windows中配置OpenCV,請執行以下步驟:

  1. 從此鏈接下載OpenCV 2.4.11或任何版本https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.11/opencv-2.4.11.exe/download
  2. 提取它。
  3. 打開日食。
  4. 創建一個新的Java項目。
  5. 添加OpenCV jar。

    • 右鍵單擊該項目。
    • 選擇構建路徑。
    • 單擊配置構建路徑。
    • 單擊庫。
    • 添加外部罐子。
    • 打開OpenCV提取的文件夾。
    • 打開build / java /
    • 選擇opencv-2411.jar並打開。
    • 單擊應用。
    • 單擊確定。
  6. 添加本機庫。

您可以通過以下方式使用OpenCv本機庫:

  • 將本機庫添加到您的opencv jar中。
  • 使用System.load()方法指向Java中的本機庫,但請確保必須指定本機庫路徑。

將本機庫添加到您的opencv jar

  • 右鍵單擊該項目。
  • 選擇構建路徑。
  • 單擊配置構建路徑。
  • 單擊庫。
  • 展開opencv jar。
  • 單擊本機庫。
  • 單擊右側面板中的“編輯”按鈕。
  • 單擊外部折頁。
  • 打開OpenCV提取的文件夾。
  • 打開build / java / x64。(如果您的操作系統是64位,則選擇x64,否則選擇x86)。
  • 單擊確定。
  • 單擊應用。
  • 單擊確定。

指向Java類中的本機庫

  • 將“ opencv_java2411.dll”的位置從opencv \\ build \\ java \\ x64傳遞到System.load(“ opencv dll的路徑”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM