我变得绝望了!我正在尝试使用 OPENCV爪哇, , 通过 Javacv (jna to to Java包装OpenCV)。

我在 Mac OS X 1.5.

我安装了OpenCV,可以编译并运行其中包括的示例。这样可以。

现在我打开 , ,我创建了一个新项目,如下所述:http://code.google.com/p/javacv/

在这个新项目中,只有一个小型班级呼叫OPENCV函数(我使用了示例代码):

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);
            // ...
        }
    }
}

当我运行它时,我会有以下错误:

线程“ main” java.lang.unsatisfiedlinkerror中的异常:无法加载库'cxcore':dlopen(libcxcore.dylib,9):找不到图像

拜托,我需要帮助,我在Google上浏览了几个小时,我不知道该在哪里寻找。

有帮助吗?

解决方案

事实证明,SVN版本与JavACV不兼容。

我下载了最新的官方版本(2.1)并进行了编译并安装了它,并且可以正式使用。

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

其他提示

您需要链接这两个库:

- javacpp.jar
- javacv.jar

在JavACV/lib-opencv/win_x86_64中,您必须有类似的文件:

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

这些DLL必须为您的平台编译(Win 32 / Win 64 / Linux /等。

您必须定义通往OPNECV DLL文件的路径:

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

我已经看过这个问题了一段时间,因为OP建议各种问题开始从木制品中爬出来。我经历了大量的Stackoverflow帖子,以便能够在Java设置OpenCV项目相对毫无痛苦的体验。我经历了Javacv,发现它不满足我的需求。但是,我能够直接实现OPENCV帖子(C ++帖子)中引用的功能,但是当我使用某些JavACPP版本时,使用Java语言。我也遇到了很多编译问题,因为JavAcpp取决于用户所在环境必须本地的编译C ++库(生活在Java Land Love中的人们不应对)。无论如何,我能够用Maven构建和环境。我使用Eclipse,但这应该在其他编程环境中很好地工作。我提出了一个示例项目,以说明如何开始建立一个自举项目并开始工作。鉴于其URL,该项目比较了2张图像。这是一个平等测试,图像是否相同。希望这可以帮助人们设置并在这种环境中工作,并避免在尝试与Java的OpenCV合作时遇到的大量陷阱(我当时与op在MEST上完全相同的位置:))。

这个例子: https://github.com/darkhipo/imgzcmp

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top