如何在IntelliJ IDEA 12中使用OpenCV

时间:2013-05-07 06:53:30

标签: java opencv ide intellij-idea

我正在尝试使用IntelliJ IDEA 12在Java中开发OpenCV 2.4.5应用程序。我已经从here网站上按照Eclipse的说明进行操作。

我遇到的问题是我可以将jar添加到我的库中,但我不知道如何将本机添加到我的类路径中。

6 个答案:

答案 0 :(得分:17)

为了在Java中使用本机库,您需要指定java.library.path系统属性,以便JVM知道在哪里查找它们。

在IntelliJ中,这可以在运行/调试配置中完成 - >申请 - > VM选项,输入:

-Djava.library.path=path/to/dll

答案 1 :(得分:10)

  • OpenCV site下载OpenCV-2.4.5-android-sdk.zip
  • 提取到OpenCV-2.4.5-android-sdk的地方,我的碰巧是

      

    /home/anthony/Documents/OpenCV-2.4.5-android-sdk /

  • 打开IntelliJ并选择导入

  • 选择要导入的文件夹

      

    /home/anthony/Documents/OpenCV-2.4.5-android-sdk/sdk/java /

     yours will be a little different, 
     don't worry, just chose where you 
     extracted OpenCV-2.4.5-android-sdk
    
  • 导入向导完成后,使用菜单

  • 构建应用程序
  

构建 - >重建项目

  • 关闭项目

  • 创建新项目或打开现有项目
  • 然后
  

文件 - >导入模块

  • 这次选择
  

/home/anthony/Documents/OpenCV-2.4.5-android-sdk/sdk/java/XXX.iml

我的是sdk.iml,但你的可能是什么,但只有一个

  

IML   文件   Select iml file to import module

您现在可以开始使用OpenCV功能,首先输入

  

import org。

键入句点后,IntelliJ应删除一个选项列表,其中一个是

  

的OpenCV

Now OpenCV is correctly integrated in your IDE

其余由你决定。

答案 2 :(得分:6)

我认为事情已经发生了变化,因为之前的答案已经发布了,我现在已经尝试过了(opencv 2.4.9)并想添加一些内容:

从头开始

首先从您刚提取的open-cv文档“上方”的文件夹中从终端cmake -DBUILD_SHARED_LIBS=OFF opencv-2.4.9/执行,然后执行make -j8,这可能需要一段时间..

现在,在Intellij中转到File | Project Structure,然后选择Global Libraries,并添加位于opencv/bin下的open-cv jar。

在这一点上,如果您尝试运行其中一个示例,您可能会得到Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path

之类的内容。

接下来,如上面建议的dlx.folmead1,转到Run | Edit Configuration,然后添加到VM选项-Djava.library.path=/absolute-path-to/opencv/lib

当然,查看open-cv's documentation关于java和open-cv

总是一个好主意

答案 3 :(得分:1)

首先通过以下命令通过 PowerShell 安装 Chocolatey

Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iwr https://community.chocolatey.org/install.ps1 -UseBasicParsing | iex

巧克力安装后

choco install opencv

以上命令将安装可用的opencv最新版本

您需要手动创建一个 OPENCV_DIR 环境变量,然后将 %OPENCV_DIR%\bin 添加到您的 PATH。Environment setup 之后只需添加以下Maven依赖项

 <dependencies>
    <dependency>
        <groupId>org.openpnp</groupId>
        <artifactId>opencv</artifactId>
        <version>4.5.1-2</version>
    </dependency>
</dependencies>

然后添加这段代码;

 OpenCV.loadLocally();

繁荣它会起作用的笨蛋多莉!!!!

下面的代码片段是用来测试的。

 OpenCV.loadLocally();
    System.out.println("Welcome to OpenCV " + Core.VERSION);

    Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
    System.out.println("OpenCV Mat: " + m);
    Mat mr1 = m.row(1);
    mr1.setTo(new Scalar(1));
    Mat mc5 = m.col(5);
    mc5.setTo(new Scalar(5));
    System.out.println("OpenCV Mat data:\n" + m.dump());

答案 4 :(得分:0)

这些答案都没有帮助我解决问题。我发现这个:https://github.com/ctodobom/OpenCV-3.1.0-Android,到目前为止,它是android最简单的解决方案。 -编辑- 要使用它,您必须拥有所需的Github存储库,但步骤如下。 1.找到GitHub回购 2.将maven { url 'https://jitpack.io' }添加到project/build.gradle。 3.然后,在app/build.gradle内添加compile 'com.github.ctodobom:OpenCV-3.1.0-Android:-SNAPSHOT'这里有github网站以及用户名,回购邮件和回购邮件的第一个。这会将它链接到您的应用程序中。 -Edit-另外,如果这种方法对你来说并不像我那样实际工作,那么尝试使用JavaCV。当我第一次实现这个方法时,似乎它有效,因为IDE正在读取所有函数都是有效的,我不会得到任何错误。它正在阅读它,但不是在某些情况下导入,它会按预期工作,但有时它不会。因此,它可以为你工作,但我最终去了JavaCV,在我看来这更容易合作。

答案 5 :(得分:0)

为了运行任何利用OpenCV的程序,您需要确保OpenCV二进制文件也位于calc()上。环境变量java.library.path应该包含您的'Path'文件的路径。每当Java运行外部库时,它都需要知道在哪里可以找到特定操作系统的二进制文件。就我而言,是Windows 10 x64:

opencv_java***.dll

请确保更改上面的目录以匹配您的目录。确保您为操作系统使用了正确的二进制文件。

如果您要严格查找依赖项管理,请转至OpenCV文件夹并在程序目录中找到D:\software\opencv\build\java\x64\opencv_java420.dll 文件:

opencv-***.jar

我们需要将此jar文件添加为Gradle中的依赖项,因此在您的D:\software\opencv\build\java\opencv-420.jar 文件中,将以下内容添加到您的依赖项中:

build.gradle

请确保更改上面的目录名称以匹配您的目录名称。

您还可以将依赖项保留在项目目录中,在项目根目录中创建一个compile fileTree(dir: 'D:\\software\\opencv\\build\\java\\', includes: ['*jar']) 文件夹,并将上述目录更改为'libs'。这对于组织或维护您可能会更新的软件的库版本很有帮助。