Frage

Ich bin verzweifelt !! Ich bin zu verwenden versuchen, OpenCV in Java über JavaCV (JNA wickeln OpenCV für Java).

Ich bin auf Mac Os X 1.5.

Ich installierte OpenCV, und ich kann die Beispiele enthalten kompilieren und ausführen. So, das funktioniert.

Jetzt öffne ich Eclipse-, und ich ein neues Projekt, wie hier beschrieben: http://code.google.com/p/javacv/

In diesem neuen Projekt nur eine kleine Klasse mit einem Aufruf zu einer opencv Funktion (I den Beispielcode verwendet wird):

import static name.audet.samuel.javacv.jna.cxcore.*;
import static name.audet.samuel.javacv.jna.cv.*;
import static name.audet.samuel.javacv.jna.highgui.*;
import static name.audet.samuel.javacv.jna.cvaux.*;

public class Test {
    public static void main(String[] args) {
        IplImage image = cvLoadImage("test.png", 1);
        if (image == null) {
            System.err.println("Could not load image file.");
        } else {
            cvSmooth(image, image, CV_GAUSSIAN, 3, 0, 0, 0);
            // ...
        }
    }
}

Wenn ich es laufen, ich habe die folgende Fehlermeldung:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Nicht imstande, In der Ladebibliothek ‚cxcore‘: dlopen (libcxcore.dylib, 9): Bild gefunden

Bitte, ich brauche Hilfe, ich über stundenlang sah google, ich weiß nicht, wo für mehr suchen.

War es hilfreich?

Lösung

Es stellte sich heraus, die SVN-Version mit JavaCV nicht kompatibel war.

Ich habe die neueste offizielle Version (2.1) und es kompiliert und installiert es, und es funktioniert.

Siehe http://code.google.com/p/ javacv / Themen / detail? id = 19

Andere Tipps

Sie müssen diese beiden Bibliotheken verknüpfen:

- javacpp.jar
- javacv.jar

In der JavaCV / lib-opencv / win_x86_64 Sie haben Dateien Ihres wie:

 - msvcp100.dll
 - msvcr100.dll
 - opencv_core220.dll
 - opencv_calib3d220.dll
 - ...

Diese DLLs haben für Ihre Plattform (Win 32 / Win 64 / Linux / etc erstellt werden.

Sie haben Pfad zu Ihren OpneCV DLL-Dateien zu definieren:

-Djava.library.path=lib-opencv/win_x86_64/
- or the DLLs have to be somewhere in your system PATH of your operating system

Ich hatte dieses Problem für eine Weile sah, wie die OP alle Arten von Problemen, schlägt der Versenkung beginnen heraus kriecht. Ich ging durch eine Tonne Stackoverflow Beiträge mit einer relativ schmerzlos Erfahrung zu entwickeln, um die Lage sein, für ein OpenCV Projekt in Java einrichten. Ich ging durch JavaCV und fand, dass es nicht meine Bedürfnisse erfüllen. Ich war jedoch in der Lage, direkt Funktionalität in OpenCV Beiträge (C ++ Beiträge) aber in der Java-Sprache verwiesen zu implementieren, wenn ich bestimmte javacpp Versionen verwendet. Ich hatte eine Tonne Compilation Fragen zu seit javacpp auf kompilierte C ++ Bibliotheken abhängt, die der Benutzer für die Umwelt nativ sein muss, ist in (etwas, das Menschen, die in Java Land Liebe leben nicht zu behandeln). Auf jeden Fall war ich mit Maven zu konstruieren und Umgebung kann. Ich benutze Eclipse, aber dies sollte mit anderen Programmierumgebungen funktionieren. Ich habe ein Beispiel-Projekt bis zu veranschaulichen, wie zu Beginn ein Bootstrap-Projekt erstellen und anfangen zu arbeiten. Das Projekt vergleicht zwei Bilder, deren URLs angegeben. Es ist ein Gleichheitstest, verwelken die Bilder identisch sind oder nicht. Hoffentlich kann helfen, Leute Setup und erhalte in diesem Umfeld zu arbeiten und die Tonnen und Tonnen von Fallen zu vermeiden, dass ich auf, wenn der Arbeit mit OpenCV in Java versuchen (ich war in der exakt gleichen Stelle wie OP geistig damals :)).

Das Beispiel: https://github.com/darkhipo/ImgzCmp

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top