11

我越来越绝望了!!我正在尝试通过JavaCV(JNA 为 Java 包装 OpenCV)在Java中使用OpenCV 。

我在Mac OS X 1.5 上。

我安装了 OpenCV,我可以编译和运行包含的示例。所以这行得通。

现在我打开Eclipse,并创建一个新项目,如下所述: 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);
            // ...
        }
    }
}

当我运行它时,出现以下错误:

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

拜托,我需要帮助,我在谷歌上看了几个小时,我不知道该去哪里找了。

4

3 回答 3

5

原来 SVN 版本与 JavaCV 不兼容。

我下载了最新的官方版本(2.1),编译安装,就可以了。

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

于 2010-09-14T14:42:48.113 回答
1

您需要链接这两个库:

- 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
于 2011-04-16T05:58:38.763 回答
0

我已经研究了这个问题一段时间,因为 OP 建议各种问题开始从木制品中爬出来。我浏览了大量 StackOverflow 帖子,以便能够为在 Java 中设置 OpenCV 项目提供一种相对轻松的体验。我浏览了JavaCV,发现它不符合我的需求。然而,当我使用某些 javacpp 版本时,我能够直接实现 OpenCV 帖子(C++ 帖子)中引用的功能,但使用 Java 语言。我也有很多编译问题,因为 javacpp 依赖于编译的 C++ 库,这些库必须是用户所在环境的原生库(生活在 Java 土地上的人喜欢不处理的东西)。无论如何,我能够使用 Maven 构建和环境。我使用 eclipse 但这应该可以在其他编程环境中正常工作。我提出了一个示例项目来说明如何开始构建引导项目并开始工作。该项目根据它们的 URL 比较 2 个图像。这是一个平等测试,图像是否相同。希望这可以帮助人们在这种环境中进行设置和工作,并避免我在尝试在 Java 中使用 OpenCV 时遇到的大量陷阱(当时我在精神上与 OP 处于完全相同的位置:))。

示例: https ://github.com/darchipo/ImgzCmp

于 2017-08-29T19:42:54.377 回答