最近实验室有了新任务,要求使用java进行模式识别,在具体点就是人脸识别、精确的边缘检测。
第一个问题便是环境配置,搭建工作台。(其实也不是什么难事,但是本人虽然从事较多的java开发,但很少接触模式识别。当然,遇到问题解决问题。正题开始:)
我使用的opencv是版本
然后按照http://blog.csdn.net/sivyer123/article/details/22377017步骤安装,步骤类似
1.首先下载OpenCV2.4.6,下载的时候,选择windows版的。然后安装
2.其实安装的过程就是解压的过程,并没有什么安装向导之类的,安装完成后,我们最关心的是这个目录:opencv\build\Java 如下图所示
注意:opencv-246.jar是需要在opencv的java类库,但是,真正的实现是opencv_java246.dll(X86和X64之分,关键看你的计算机是多少位的)
3.建立一个Java项目4.新建一个Java类,代码如下:
- package com.njupt.zhb.test;
- import org.opencv.core.CvType;
- import org.opencv.core.Mat;
- public class Main {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.loadLibrary("opencv_java246");
- Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
- System.out.println("m = " + m.dump());
- }
- }
5.引入所需要的jar包,即:opencv-246.jar
6.设置项目的native库,即opencv_java246.dll所在的路径
7.运行结果为:
按照http://blog.csdn.net/enjoy_programming/article/details/21972157提到的方式裁剪
注意:由于javacv中的原码把opencv的时目录写死了(目前javacv 0.7版及以前都是),所以放到C盘根目录是必须的。如果只是为了用javacv的话,Opencv目录下的东西基本都可以删,除了C:\opencv\build\x86\vc10\bin或C:\opencv\build\x64\vc10\bin,然后把bin的名字后面带d也删了,本来2.7G的opencv现在就只剩下20多兆了,还能正常用。