para libreria descargar opencv netbeans javacv

opencv - libreria - no se puede encontrar la biblioteca dependiente javacv



libreria opencv (2)

Tengo este código:

package javacv; 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 javax.swing.JOptionPane; /** * * @author (Mahdi) */ public class JavaCv { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { IplImage img = cvLoadImage("mehdi.jpg"); cvShowImage("Hellow", img); cvSmooth(img, img, CV_GAUSSIAN, 13); cvShowImage("Blur", img); cvWaitKey(); cvReleaseImage(img); } catch (Exception e) { JOptionPane.showMessageDialog(null, e.getMessage()); } } }

después de correr, lanza esta excepción:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:/Users/(Mahdi)/AppData/Local/Temp/javacpp66820482987315/jniopencv_core.dll: Can''t find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825) at java.lang.Runtime.load0(Runtime.java:792) at java.lang.System.load(System.java:1059) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566) at com.googlecode.javacpp.Loader.load(Loader.java:489) at com.googlecode.javacpp.Loader.load(Loader.java:431) at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at com.googlecode.javacpp.Loader.load(Loader.java:453) at com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at com.googlecode.javacpp.Loader.load(Loader.java:453) at com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85) at javacv.JavaCv.main(JavaCv.java:23) Caused by: java.lang.UnsatisfiedLinkError: no opencv_core244 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593) at com.googlecode.javacpp.Loader.load(Loader.java:481) ... 11 more Java Result: 1

¿alguna idea?


Java está intentando encontrar dlls necesarios en $ {java.library.path} pero no está definido. Entonces deberías:

  1. Establezca la ubicación de opencv_java244.dll en% PATH% ("c: / opencv / build / java / x64 /", por ejemplo).
  2. Cree en su dir de proyecto dir "lib".
  3. Ponlo ahí:
    • javacpp.jar
    • javacv.jar
    • javacv-windows-x86_64.jar
    • opencv-2.4.4-windows-x86_64.jar
    • opencv-244.jar

Si la bitness de su plataforma es 32, entonces use versiones * x86.jar.

Y luego puedes usar esta secuencia de comandos mod mod de opencv / samples / java / ant / para ejecutar tu aplicación:

<project name="JavaCv" basedir="." default="rebuild-run"> <property name="src.dir" value="src"/> <property name="lib.dir" value="lib"/> <path id="classpath"> <fileset dir="${lib.dir}" includes="**/*.jar"/> </path> <property name="build.dir" value="build"/> <property name="classes.dir" value="${build.dir}/classes"/> <property name="jar.dir" value="${build.dir}/jar"/> <property name="main-class" value="${ant.project.name}"/> <target name="clean"> <delete dir="${build.dir}"/> </target> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac includeantruntime="false" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/> </target> <target name="jar" depends="compile"> <mkdir dir="${jar.dir}"/> <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}"> <manifest> <attribute name="Main-Class" value="${main-class}"/> </manifest> </jar> </target> <target name="run" depends="jar"> <java fork="true" classname="${main-class}"> <classpath> <path refid="classpath"/> <path location="${jar.dir}/${ant.project.name}.jar"/> </classpath> </java> </target> <target name="rebuild" depends="clean,jar"/> <target name="rebuild-run" depends="clean,run"/>

O puede definir $ {java.library.path} en su script ant como este:

<target name="run" depends="jar"> <java fork="true" classname="${main-class}"> <sysproperty key="java.library.path" path="PUT_YOUR_PATH_HERE"/> <classpath> <path refid="classpath"/> <path location="${jar.dir}/${ant.project.name}.jar"/> </classpath> </java> </target>


¿Intentó extraer el directorio de opencv como c: / opencv? Esa es una manera fácil de arreglar esto.