利用Eclipse使用Java OpenCV(Using OpenCV Java with Eclipse)
最近在上计算机视觉这门课程用到了OpenCV,于是找到了"Using OpenCV Java with Eclipse"这篇博文,是英文的,我将它翻译如下与大家分享
正文:
从2.4.4版本以后,OpenCV开始支持Java。在这个教程中我会教你在Eclipse下怎么部署环境来使用OpenCV Java(操作系统是Windows),这样你可以充分的利用Java中的垃圾回收机制和一些极其方便的机制,从而大大减少你的代码工作量和错误。现在我们开始。
配置Eclipse:
首先,从官方下载网站获得最新发布版的OpenCV(点我),然后提取它到一个简单的目录(注:这里目录中最好不要出现中文),如C:\OpenCV-2.4.6\。我使用的版本是2.4.6,但是这些配置步骤在其他OpenCV版本中也是基本相同的。
现在,我会将OpenCV作为一个用户库配置进Eclipse,这样我们在开发项目时就不用每次都配置相关文件了。打开Eclipse,然后在菜单中选择Window->Preferences,如图:

导航到Java->Build Path->User Libraries,然后点击New...

输入一个名字,比如:OpenCV-2.4.6,作为你的新的库名。

现在,选择你刚才创建的用户库,然后点击Add External JARs...

浏览 到 C:\OpenCV-2.4.6\build\java\ ,然后选择opencv-246.jar(注:这里作者假设OpenCV安装在C盘根目录)。然后加载这个jar包,并展开opencv-246.jar,之后选择Native library location,之后点击 Edit...

选择External Folder...,然后浏览选择文件夹C:\OpenCV-2.4.6\build\java\x64(这里如果是32位操作系统则选择x86)

你的用户库配置应该看起来如下图:

在一个新的Java项目中测试我们的配置是否成功:
现在新建一个Java项目。

在Java Settings步骤时,在Libraries标签下,选择Add Library...,然后选择OpenCV-2.4.6,最后点击Finish。


库文件应该看起来如下图:

现在你已经创建并且配置好了一个新的Java项目,现在让我们测试下。新建一个Java文件。下面是一个初试代码你可以尝试测试下:
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat; public class Hello
{
public static void main( String[] args )
{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
System.out.println( "mat = " + mat.dump() );
}
}
当你的代码运行起来后,你应该能够看到会输出一个3x3的单位矩阵。

现在搞定啦,无论何时你创建一个新的项目,仅仅需要加载一下你已经创建OpenCV用户库到你的项目中就可以正常运行了。享受你的开发之旅吧 :)
注:因为我使用的Eclipse版本是英文版的,不太清楚中文版的,所以对一些按钮名称我就直接遵照原文放置的,有配图方便找到的。
利用Eclipse使用Java OpenCV(Using OpenCV Java with Eclipse)的更多相关文章
- OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例
转自: http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...
- java中使用opencv
Java + opencv学习:在Eclipse下配置基于Java的OpenCV开发环境 2016-04-08 17:43 6491人阅读 评论(0) 收藏 举报 分类: OpenCV学习(10) ...
- [Android Studio] Using Java to call OpenCV
Environment: Android studio 2.2.3, OpenCV 2.4.9 For Android, Android 6 with api 23 for X86 一.File: b ...
- java 实现基于opencv全景图合成
因项目需要,自己做了demo,从中学习很多,所以分享出来,希望有这方面需求的少走一些弯路,opencv怎么安装网上教程多多,这里不加详细说明,我安装的opencv-3.3.0 如上图所示,找到相应的j ...
- eclipse:Tomcat设置jvm,解决java.lang.OutOfMemoryError: Java heap space 堆内存溢出
eclipse 有启动参数里设置jvm大小,因为eclipse运行时自己也需要jvm,所以eclipse.ini里设置的jvm大小不是具体某个程序运行时所用jvm的大小,这和具体程序运行的jvm大小无 ...
- 20145303 实验一 Java开发环境的熟悉(Linux + Eclipse)
20145303 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验题目(4):实现学生成绩管理功能,并进行测试 思路: 对于实现学生成绩管理(student performanc ...
- 20145314郑凯杰 《Java程序设计》实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告
20145314郑凯杰 <Java程序设计>实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告 实验要求 •使用JDK编译.运行简单的Java程序: •使用Ecl ...
- 20162303 实验一 Java开发环境的熟悉(Linux + Eclipse)
北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 石亚鑫 学号:20162303 成绩: 2分 指导教师:娄嘉鹏 王志强 实验日期:3月17日 实验密 ...
- eclipse启动不了,出现“Java was started but returned exit code=13......”对话框
eclipse启动不了,出现"Java was started but returned exit code=13......"对话框如下 解决方案:1.使用的是java jdk6 ...
- eclipse启动时报告错误:Java was started but returned exit code=-805306369
这两天也没改过eclipse和java的配置,但eclipse启动时报告错误:Java was started but returned exit code=-805306369 后来在eclipse ...
随机推荐
- python 通用 修饰器
import functools def log(option): def dec(func): def swapper(*arg, **karg): functools.update_wrapper ...
- 启动项目的时候报驱动错误: not support oracle driver 1.0
问题:今天在使用pom导入oracle14的包时候发现怎么都下载不过来.网上查了一下发现是因为Oracle驱动需要官方授权,所以在pom.xml文件直接配置,无法下载成功. 解决方法就是下载oracl ...
- 项目 "Model" 受源代码管理。向源代码管理注册此项目时出错。建议不要对此项目进行任何更改。
- Dom的继承关系
Document对象: 是Html文档的根节点,拥有其他的节点(element nodes, text nodes, attribute nodes, and comment nodes),并提供了获 ...
- Building Modern Web Apps-构建现代的 Web 应用程序(一些感想)
<iframe src="http://channel9.msdn.com/Series/MVA-China/Web20140611A01/player?h=540&w=960 ...
- MySQL HASH分区
200 ? "200px" : this.width)!important;} --> 介绍 基于给定的分区个数,将数据分配到不同的分区,HASH分区只能针对整数进行HASH ...
- R in Action 读书笔记(5)
MindMapper原文件
- JavaScript实现TwoQueues缓存模型
本文所指TwoQueues缓存模型,是说数据在内存中的缓存模型. 无论何种语言,都可能需要把一部分数据放在内存中,避免重复运算.读取.最常见的场景就是JQuery选择器,有些Dom元素的选取是非常耗时 ...
- Java集合类的总结
Java语言的java.until包中提供了一些集合类,这些集合类又被称为容器.说到集合就会想到数组,集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的:数组用来存放基本数据类型,集合从 ...
- 使用Emit把Datatable转换为对象集合(List<T>)
Emit生成动态方法部分摘自网上,但是经过修改,加入了对委托的缓存以及类结构的调整,使之调用更简洁方便.大致的思路是:要实现转换datatable到某个指定对象的集合,本质是实现转换一个datarow ...