• 在IntelliJ IDEA 13中配置OpenCV的Java开发环境


    准备工作:

    1. 下载IDEA 13(这里以版本13为例,后面简称IDEA);
    2. 下载Java JDK(用于配置基本的Java开发环境);
    3. 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说,OpenCV的2.4版本开始支持Java API接口);
    4. 安装IDEA;
    5. 安装JDK,并在IDEA中配置JDK;
    6. 将下载好的OpenCV 2.4.9解压到某个目录下,例如,解压后的路径为“D:opencv”,该路径下包含build文件夹和source文件夹。

    配置开发环境:

    1)在IDEA中新建普通Java项目,命名为“LearningOpenCV”。

    2)打开“Project Structure”窗口,可以使用【Ctrl+Alt+Shift+S】快捷键,或者通过菜单“File->Project Structure”打开。

    3)观察“Project Structure”窗口左侧,找到“Libraries”并单击。单击后,如下图所示。

    4)添加OpenCV的库。点击“Project Structure”窗口上方的“+”号,选择“Java”。通过弹出的对话框选择OpenCV的Java类(这里为“D:opencvuildjavaopencv-249.jar”)。如下图所示。

    点击“OK”,形成下图。

    点击“OK”关闭对话框。

    5)建立测试代码。在src目录下新建一个Java类,命名为“OpenCVJavaTest”。进一步编写测试代码。

     1 import org.opencv.core.Core;
     2 import org.opencv.core.CvType;
     3 import org.opencv.core.Mat;
     4 import org.opencv.core.Scalar;
     5 
     6 /**
     7  * Created by better on 2014/10/4.
     8  */
     9 public class OpenCVJavaTest{
    10 
    11     static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
    12 
    13     public static void main(String[] args) {
    14         System.out.println("Welcome to OpenCV " + Core.VERSION);
    15         Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
    16         System.out.println("OpenCV Mat: " + m);
    17         Mat mr1 = m.row(1);
    18         mr1.setTo(new Scalar(1));
    19         Mat mc5 = m.col(5);
    20         mc5.setTo(new Scalar(5));
    21         System.out.println("OpenCV Mat data:
    " + m.dump());
    22     }
    23 }

    运行main函数,观察运行后的情况。此时发生链接错误(找不到dll)。

     Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path 。

    下面修复错误。

    6)配置运行时参数。通过工具栏()或者菜单“Run->Edit Configurations...”打开“Run/Debug Configurations"对话框。

     在对话框窗口右侧,找到“VM options”标签对应的文本框。如下图红色箭头所示。

    在文本框中填写参数,“-Djava.library.path=D:/opencv/build/java/x86;D:/opencv/build/x86/vc12/bin”。注意,所填写的目录应当为解压OpenCV时生成的相对目录。填写后效果图如下。

    7)运行测试代码,观察程序输出。

    Welcome to OpenCV 2.4.9.0
    OpenCV Mat: Mat [ 5*10*CV_8UC1, isCont=true, isSubmat=false, nativeObj=0x4b5b868, dataAddr=0x4b5eeb0 ]
    OpenCV Mat data:
    [0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
      1, 1, 1, 1, 1, 5, 1, 1, 1, 1;
      0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
      0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
      0, 0, 0, 0, 0, 5, 0, 0, 0, 0]

     8)结束。

     进一步阅读:

    1)OpenCV的Java API官方在线文档

    2)OpenCV的官方Java开发指南

    3)OpenCV的官网

    作者:星河千里
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    angular1.5 组件学习 -- 4.2、组件的其他属性 transclude
    angular1.5 组件学习 -- 4.1、组件的其他属性 require
    angular1.5 组件学习 -- 3、组件的生命周期钩子
    angular1.5 组件学习 -- 2.2、组件间的交互:子向父
    angular1.5 组件学习 -- 2.1、组件间的交互:父向子
    angular1.5 组件学习 -- 1、组件的基本结构
    android内存优化相关1
    Android快速开发系列 10个常用工具类
    android Activity的启动模式
    [转载]Android系统开机画面的实现
  • 原文地址:https://www.cnblogs.com/yezhang/p/OpenCV_Java_IDEA.html
Copyright © 2020-2023  润新知