准备工作:

  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:\opencv\build\java\opencv-249.jar”)。如下图所示。

点击“OK”,形成下图。

点击“OK”关闭对话框。

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

 import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar; /**
* Created by better on 2014/10/4.
*/
public class OpenCVJavaTest{ static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); } public static void main(String[] args) {
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());
}
}

运行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的官网

在IntelliJ IDEA 13中配置OpenCV的Java开发环境的更多相关文章

  1. 在CentOS 6.5 中安装JDK 1.7 + Eclipse并配置opencv的java开发环境(二)

    一.安装JDK 1.7 1. 卸载OpenJDK rpm -qa | grep java rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5. ...

  2. 配置OpenCV的Qt开发环境

    QT&openCV系列!链接:http://www.cnblogs.com/emouse/category/449213.html 本文链接:http://blog.csdn.net/qiur ...

  3. 配置Arcengine10.1+java开发环境(Eclipse)

    以下开发环境配置是假定用户已经安装了Java开发的IDE(Eclipse) 软件准备 (一)ArcEngine 10.1 安装包 提取码:poa0 (二)ArcGIS License Manager ...

  4. VS2012配置OpenCV、GDAL开发环境

    VS2012和opencv-2.4.10 第一步:配置之前的准备工作. 完成VS2012的安装,以及opencv-2.4.10的下载和文件提取, 双击此文件,设置文件路径,即可得到提取文件,提取后的文 ...

  5. Anaconda中配置Pyspark的Spark开发环境

    1.windows下载并安装Anaconda集成环境 URL:https://www.continuum.io/downloads 2.在控制台中测试ipython是否启动正常 3.安装JDK 3.1 ...

  6. Mac中配置eclipse的php开发环境

    1.mac中自带php和apache,不过版本不是最新的. 2.打开apache配置文件中php相关设置,并设置php的工程目录为你想要的目录 3.复制php.ini.default为php.ini, ...

  7. Ubuntu18.04中配置wxWidget3.0.4开发环境

    准备工作 在 https://www.wxwidgets.org/downloads/ 下载最新的稳定版 wxWidgets-3.0.4.tar.bz2 安装依赖 -dev build-essenti ...

  8. 在RedHat 和 Ubuntu 中配置 Delphi 的Linux开发环境(转)

    原文地址:http://chapmanworld.com/2016/12/29/configure-delphi-and-redhat-or-ubuntu-for-linux-development/ ...

  9. 在虚拟机中的Ubuntu搭建java开发环境

    前提: 安装好虚拟机 在虚拟机中装好了Ubuntu系统 以上两步请参见我的博客(python进阶) 1 安装JDK 1.1 到官网下载jdk压缩包并保存在本地 jdk1.8:点击前往 1.2 在Ubu ...

随机推荐

  1. StackExchange.Redis 官方文档(一) Basics

    基本使用方法: StackExchange.Redis的核心是 StackExchange.Redis 命名空间的 ConnectionMultiplexer 类;它隐藏了多服务器的实现细节.Conn ...

  2. 环信 之 iOS 客户端集成四:集成UI

    在Podfile文件里加入 pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-cocoapods.git' 然后在终端中的 ...

  3. mysql中游标的使用案例详解(学习笔记)

    1.游标是啥玩意?简单的说:游标(cursor)就是游动的标识,啥意思呢,通俗的这么说,一条sql取出对应n条结果资源的接口/句柄,就是游标,沿着游标可以一次取出一行.我给大家准备一张图: 2.怎么使 ...

  4. Chrome调试大全

    作为一名前端开发者,打交道最多的可能是和浏览器.市面上各种浏览器多不胜数,主流的有Chrome,Firefox,Safari,IE,Opera,非主流的如360,遨游,QQ浏览器,搜狗浏览器,据说淘宝 ...

  5. HBuilder mui引导页制作

    http://www.bcty365.com/content-146-2582-1.html

  6. Delphi的时间与字符串函数代码示例

    [delphi] view plaincopyprint? SysUtils.StrToDate(); SysUtils.StrToDateDef(); SysUtils.TryStrToDate() ...

  7. 将[4,3,2,5,4,3]分割成[4,3,2]、[5,4,3]两个List的算法

    将[4,3,2,5,4,3]分割成[4,3,2].[5,4,3]两个List的算法 package com.srie.test; import java.util.ArrayList; import ...

  8. jackson - 生成jason工具-简单示例

    主页: http://jackson.codehaus.org/ https://github.com/FasterXML/jackson 当前jackson分为三部分,需要分别下载: jackson ...

  9. ZeroMQ 的模式

    在需要并行化处理数据的时候,采用消息队列通讯的方式来协作,比采用共享状态的方式要好的多.Erlang ,Go 都使用这一手段来让并行任务之间协同工作. 最近读完了 ZeroMQ 的 Guide.写的很 ...

  10. LinkedHashMap遍历

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...