前言:

        虽然OpenCV官方支持java调用,但是相关内容确实太少,下面先记录基于java的OpenCV环境搭建(Windows平台上)。


一、下载OpenCV

        进入官网下载OpenCV,建议使用新版本。不过网上的一些例程多是2.X的版本,和3.x的版本比起来,会有某些方法或者类已经更改,比如我在一个论坛看到的如下内容:

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_java 开源论坛框架

        所以如果使用版本3的库,运行网上找来的2.x版本的程序,如果报错,可以考虑一下是不是方法接口更改了。

opencv的官网有时候会进不去,在百度搜一下下载,会有一些链接供下载,官网下载地址:http://opencv.org/downloads.html

下载好以后点击exe文件,选择一个路径,其实就是解压过程,解压后即可。

二、在eclipse当中配置环境

         这部分内容就转载一篇博文,这是以2.4.6的版本为例的,其他版本也一样。

最近在上计算机视觉这门课程用到了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利用OpenCV实现物体尺寸测量 opencv基于java的文档_jquery插件_02


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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_jquery插件_03

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_jquery_04

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_opencv_05

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_java 开源论坛框架_06

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_jquery插件_07

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_基于java的OpenCV环境搭建Win_08

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_jquery_09

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_jquery_10

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_java 开源论坛框架_11

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

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_opencv_12

现在你已经创建并且配置好了一个新的Java项目,现在让我们测试下。新建一个Java文件。下面是一个初试代码你可以尝试测试下:



1. import
2. import
3. import
4.   
5. public class
6. {  
7. public static void
8.    {  
9.       System.loadLibrary( Core.NATIVE_LIBRARY_NAME );  
10. 3, 3, CvType.CV_8UC1 );  
11. "mat = "
12.    }  
13. }


当你的代码运行起来后,你应该能够看到会输出一个  3x3的单位矩阵。

Java利用OpenCV实现物体尺寸测量 opencv基于java的文档_java 开源论坛框架_13

现在搞定啦,无论何时你创建一个新的项目,仅仅需要加载一下你已经创建OpenCV用户库到你的项目中就可以正常运行了。享受你的开发之旅吧  :)