2015-06-05 10 views
5

Attualmente sto cercando di codificare un piccolo programma per scattare la foto di sposi studenti e salvarle con i loro nomi, ecc per facilitare le iscrizioni cose eccUnsatisfiedLinkError durante l'esecuzione di nuovo Mat()

Così qui è il mio problema, io trovato un grande tutorial per aiutarmi utilizzando una webcam: http://www.codeproject.com/Tips/717283/How-to-use-OpenCV-with-Java-under-NetBeans-IDE

posso fare funzionare questo progetto senza errori, ma quando provo a importare alcuni codice per la mia ho ottenuto questo errore:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat()J 
    at org.opencv.core.Mat.n_Mat(Native Method) 
    at org.opencv.core.Mat.<init>(Mat.java:24) 
    at recupphoto.Ihm.<init>(Ihm.java:38) 
    at recupphoto.RecupPhoto.main(RecupPhoto.java:19) 
Java Result: 1 

L'errore si verifica quando eseguo tesi linee:

Mat frame = new Mat(); 
MatOfByte mem = new MatOfByte(); 

Qui sono i miei importazioni nel caso potrebbe aiutare a scoprire:

import java.util.ArrayList; 
import java.awt.Graphics; 
import java.awt.Image; 
import java.awt.image.BufferedImage; 
import java.io.ByteArrayInputStream; 
import javax.imageio.ImageIO; 
import javax.swing.JOptionPane; 
import javax.swing.UIManager; 
import org.opencv.core.Mat; 

import org.opencv.core.MatOfByte; 
import org.opencv.imgcodecs.Imgcodecs; 
import org.opencv.videoio.VideoCapture; 

Mentre la compilazione ho ricevuto questo messaggio, non so se collegato o così

Nota: alcuni file di input utilizzano operazioni non controllate o non sicure. Nota: ricompilare con -Xlint: deselezionato per i dettagli.

Entrambi errore appare (credo) quando Mat() viene chiamato ma non riesco a trovare come risolvere questo problema.

Dovrei davvero usare alcuni aiuti o suggerimenti qui! Grazie per aver letto questo e mi dispiace per il mio cattivo inglese!

+0

Questo tipo di errore indica che manca una libreria caricabile dinamicamente (parte del codice nativo che si trova dietro l'API Java di OpenCV), forse non si trova nel percorso di caricamento della libreria o simili.È necessario rivedere la configurazione di installazione. – RealSkeptic

+0

Cosa intendi per installazione? Sono abbastanza principiante. – Neithalf

+0

Voglio dire - dove hai collocato le librerie OpenCV, se hai seguito correttamente tutti i passaggi di installazione nella procedura di installazione di OpenCV. Se hai eseguito NetBeans fresco dopo aver completato l'installazione di OpenCV. E dovresti anche indicare quale sistema operativo e versione stai utilizzando, dato che si tratta di un problema di codice nativo. – RealSkeptic

risposta

7

Finaly risolto il mio problema, il fatto è che ho chiamato

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 

troppo tardi, così ho spostato un po 'e risolto questo :) Grazie per tutti coloro che trascorrono un po' del loro tempo per aiutarmi lì!

+0

wow, hai aiutato molto =) –

0

Passaggio 1 Ottenere l'applicazione Deamer Walker.

Passaggio 2 Sfogliare la cartella della libreria pertinente.

Passaggio 3 Guarda cosa manca e fallo.

Punte:

essere sicuri di ottenere DLL per la propria architettura sia 32bit o 64bit.

Assicurarsi di compilare con java appropriato (32 bit/64 bit) a seconda delle DLL fornite.

Infine se le dipendenze che mancano iniziano con MSVCP ***. Dll download Microsoft Visual C++ Packages. Di nuovo cura per l'architettura. Ti consiglio di iniziare con questo passaggio.

+0

mi ha detto che mancavano alcuni file ma non so cosa siano:/ La cosa che non riesco a capire è che sul tutorial l'ho eseguito sulla libreria e ha funzionato e sul mio progetto non indossa 't. – Neithalf

+0

installa pacchetti visivi C++ per te architettura, il 90% dei casi risolve il problema – Palcente