JavaCV 示例无法正常工作 - 我缺少什么?

标签 java opencv javacv

这是我学习JavaCV的第一天。这是我使用的第一个测试示例,只是为了确保我的设置正确完成。不幸的是,我无法运行该示例,而且我几乎不理解代码和所有依赖项,因此我很难找出缺少的内容。下面我将发布我的项目设置以及我遇到的错误。

我使用的示例来自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/12/javacv-capture-save-flip-show-live.html

代码

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); // 1 for next camera
        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++) + "-aa.jpg", img); // show image on window
                    canvas.showImage(img);
                }
                //Thread.sleep(INTERVAL);
            }
        }
        catch (Exception e)
        {

        }
    }
}

我使用 Eclipse,似乎所有导入都在那里。

这是我的项目的打印屏幕,就像在 Eclipse 中一样:

enter image description here

这就是设置。我试图从中得到一些东西。当我右键单击该项目并尝试将其作为 Java 应用程序运行 时,将显示以下窗口:

enter image description here

您可以在窗口顶部看到我的选择。我收到一个错误窗口发生了 Java 异常,这是我在控制台窗口中收到的错误的一部分:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Xman\AppData\Local\Temp\javacpp4929678155627\jniopencv_core.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:422)
at com.googlecode.javacpp.Loader.load(Loader.java:372)`

我已经阅读了该错误,似乎问题是由缺少库引起的,但我不确定,我也遵循了说明(实际上并没有那么多)以及示例下面的注释代码看起来它确实有效。所以我猜问题出在我的项目、代码、设置中,但我找不到我遗漏或做错的地方。

最佳答案

当您的 opencv dll 未在系统路径中设置时,会出现此错误。 如果您已将 opencv 文件夹解压到 C:\目录中,则将路径设置如下

对于 32 位:

C:\opencv\build\x86\vc10\bin;C:\opencv\build\common\tbb\ia32\vc10\

对于 64 位:

C:\opencv\build\x64\vc10\bin;C:\opencv\build\common\tbb\intel64\vc10\

如果您在不同位置提取,请相应地更改路径。

要设置路径,您可以转到控制面板 > 系统安全 > 系统 > 高级系统设置 > 环境变量。在系统变量中选择路径并单击编辑并插入以上位置并重新启动 Windows。

您可以在 http://opencvlover.blogspot.in/2012/04/javacv-setup-with-eclipse-on-windows-7.html 找到详细说明

关于JavaCV 示例无法正常工作 - 我缺少什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760245/

相关文章:

java - 如何阻止线程继续执行死循环

java - 有序(自然插入顺序)和线程安全的 Java Map

java - 如何将OpenCV(JavaCV)训练好的人脸图片保存到数据库?

java - 无法在 OS X 上初始化类 org.bytedeco.javacpp.avutil 以及 JavaCV 中的 Maven

c# - WCF 客户端/Java Web 服务 - 反序列化对象为空

java - 使用存储库的异步方法中的 Spring InvalidDataAccessApiUsageException

c++ - PCL 上的点云开发

python - 尝试改进 OpenCV 中的道路分割程序

eclipse - libopencv_highgui.so.3.4 : cannot open shared object file: No such file or directory in the eclipse ide for cross compiler

opencv - 根据颜色选择 'Region of Interest'并确定对象的形状