2017-09-11 4 views
-2

Die erste Sache: Ich bin kein englischer Muttersprachler, also versuche ich mein Bestes zu geben. Ich versuche, JavaCV zu verwenden, aber es funktioniert nicht. Ich erhalte den Fehler:JavaCV startet nicht

OpenJDK 64-Bit Server VM warning: You have loaded library /usr/lib/libtbb.so which might have disabled stack guard. The VM will try to fix the stack guard now. 
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'. 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) 
Caused by: java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) 
    at java.lang.Runtime.loadLibrary0(Runtime.java:870) 
    at java.lang.System.loadLibrary(System.java:1122) 
    at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:711) 
    at com.googlecode.javacpp.Loader.load(Loader.java:586) 
    at com.googlecode.javacpp.Loader.load(Loader.java:540) 
    at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:134) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at com.googlecode.javacpp.Loader.load(Loader.java:561) 
    at com.googlecode.javacpp.Loader.load(Loader.java:540) 
    at com.googlecode.javacv.cpp.opencv_core$CvArr.<clinit>(opencv_core.java:156) 
    at Main.main(Main.java:18) 
    ... 5 more 
Caused by: java.lang.UnsatisfiedLinkError: /tmp/javacpp22248052399215/libjniopencv_core.so: libopencv_core.so.2.4: cannot open shared object file: No such file or directory 
    at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) 
    at java.lang.Runtime.load0(Runtime.java:809) 
    at java.lang.System.load(System.java:1086) 
    at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:700) 
    ... 14 more 

i OpenCV mit diesem Tutorial installiert: https://udallascs.wordpress.com/2014/03/30/adding-opencv-and-configuring-to-work-with-eclipse-and-java/

und hier wird der Quellcode:

import com.googlecode.javacv.cpp.opencv_core.IplImage; 

//import static com.googlecode.javacv.cpp.opencv_core.*; 
//import static com.googlecode.javacv.cpp.opencv_imgproc.*; 
//import static com.googlecode.javacv.cpp.opencv_highgui.*; 

import java.awt.image.BufferedImage; 
import java.io.File; 

import javax.imageio.ImageIO; 


public class Main { 

public static void main(String s[]) { 
    try { 
    BufferedImage bi = ImageIO.read(new File("/home/arjan/Desktop/HelloWorld.jpg")); 
    IplImage img = IplImage.createFrom(bi); 
    // cvShowImage("Hello-World",img); 
    // cvSmooth(img, img, CV_GAUSSIAN, 13); 
    // cvShowImage("Blur-Image",img); 
    // cvWaitKey(); 
    // cvReleaseImage(img); 

    }catch (Exception ex) {ex.printStackTrace();} 
} 

}

Ich Arch Linux verwenden und auch installiert OpenCV mit Pacman hier ist ein Bild der Gläser I picture of jar files

+2

Ich finde es hilfreich, manchmal die Fehler zu lesen, die ich von Dingen bekomme, wenn sie nicht funktionieren. Normalerweise helfen sie mir, meine Probleme zu lösen. –

Antwort