2015-12-07 53 views
2

我试图使用JavaCV从我的webcamera捕获捕捉。但是当我运行下面的代码时,我得到了一个exeception.It说没有找到类com/googlecode/javacpp /指针。我能做些什么来解决这个错误...NoClassDefFoundError当使用Javacv

package camera; 

/** 
* 
* @author asankad 
*/ 
import static com.googlecode.javacv.cpp.opencv_core.cvFlip; 
import static com.googlecode.javacv.cpp.opencv_highgui.cvSaveImage; 

import com.googlecode.javacv.CanvasFrame; 
import com.googlecode.javacv.FrameGrabber; 
import com.googlecode.javacv.VideoInputFrameGrabber; 
import com.googlecode.javacv.cpp.opencv_core.IplImage; 

public class GrabberShow implements Runnable { 
    //final int INTERVAL=1000;///you may use interval 
    IplImage image; 
    CanvasFrame canvas = new CanvasFrame("Web Cam"); 
    public GrabberShow() { 
     canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); 
    } 
    @Override 
    public void run() { 
     FrameGrabber grabber = new VideoInputFrameGrabber(0); 
     int i=0; 
     try { 
      grabber.start(); 
      IplImage img; 
      while (true) { 
       img = grabber.grab(); 
       if (img != null) { 
        cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise 
        cvSaveImage((i++)+"-capture.jpg", img); 
        // show image on window 
        canvas.showImage(img); 
       } 
       //Thread.sleep(INTERVAL); 
      } 
     } catch (Exception e) { 
     } 
    } 
} 

异常

Exception in thread "main" java.lang.NoClassDefFoundError: com/googlecode/javacpp/Pointer 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at camera.Camera.main(Camera.java:20) 
Caused by: java.lang.ClassNotFoundException: com.googlecode.javacpp.Pointer 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 13 more 
Java Result: 1 
+0

请告诉我们你至少有一派的错误消息... – benjamin

+0

是的,我已经做了,但我找不到答案。 – AsankaD7

+0

请在'camera'包中显示'Camera'类。 – Selva

回答

0

在类路径或地方加入javacpp罐子lib文件夹中

+0

我已经这样做了,但错误仍然存​​在.... – AsankaD7

+0

难道它不会像导入它那么简单吗? – benjamin

+0

echo classpath并检查jar包是否存在于类路径中。 – Ahmed