mesutpiskin / computer-vision-guide

:book: This guide is to help you understand the basics of the computerized image and develop computer vision projects with OpenCV. Includes Python, Java, JavaScript, C# and C++ examples.

Home Page:https://mesutpiskin.com/blog/opencv-egitim-serisi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenCV Java Hatası java.lang.UnsatisfiedLinkError

kanexsa opened this issue · comments

commented

Başlık: Hata

Açıklama:

Hocam merhabalar ben bitirme tezimi deep learning ile yüzi fadelerinin tanımlanması olarak aldım çok araştırmalarımdan sonra sizin kaynağı buldum umarım doğrudur :) Sorunum şu eclipse ile çalışıyorum ilk kodumda şu hatayı aldım acaba çözümü nedir
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java400 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at Giris.main(Giris.java:9)

Varsa Çözümünüz:

Merhaba, bu hatanın sebebi native opencv kütüphanesinin jvm tarafından bulunamıyor olması. Farklı iki çözüm yolu var.

Not 1: referans verdiğin opencv.jar ile jvm e gösterdiğin native kütüphane dizinindeki opencv versiyonu aynı olmalı.

Not 2: Java native kütüphaneler için opencv içerisindeki lib dizininde yer alan opencv_java400.so veya opencv_java400.dll dosyaları ile ilgilenir, bu yüzden referans verdiğin dizinde bu dosyaların olması gerekir, manuel derlediysen bu dosyalar oluşmamış olabilirler, bu durumda da hata alabilirsiniz.

1:
Aşağıdaki bağlantıda OpenCV nin eclipse üzerine nasıl kurulduğu var bu yöntemde eclipse üzerinden JVM e parametre olarak opencv_java400.dll veya opencv_java400.so dosyasının dizini gösteriliyor ve main sınıfında System.loadLibrary(Core.NATIVE_LIBRARY_NAME); ile opencv.jar içerisinde ilgili versiyon için belirlenen OpenCV native lib adı veriliyor.
IDE'ler için yapılandırma: https://github.com/mesutpiskin/goruntu-isleme-klavuzu/blob/master/docs/5-ide-yapilandirmasi.md
Kurulum & Derleme: https://github.com/mesutpiskin/goruntu-isleme-klavuzu/blob/master/docs/4-opencv-kurulumlar.md

2:

  • Eclipse ile JVM parametresi olarak OpenCV native lib dizinini set et.
    örn: -Djava.library.path=/opencvdizini/opencv-4.0.0/build/lib
  • Daha sonra main class içerisinde native kütüphaneyi yükle.
    örn:
    mac ve linux için
    System.loadLibrary("/opencvdizini/opencv-4.0.0/build/lib");
    windows için
    System.loadLibrary("/opencvdizini/opencv_java400");