Eclipse+Java+OpenCV310环境搭建和代码测试

1.首先下载OpenCV2.4.9,下载的时候,选择windows版的。然后安装 (英文原版程序可以在这里找到,注意修改版本号和文件路径:opencv.org)


Eclipse+Java+OpenCV310环境搭建和代码测试_第1张图片


Eclipse+Java+OpenCV310环境搭建和代码测试_第2张图片

2.其实安装的过程就是解压的过程,并没有什么安装向导之类的,安装完成后,我们最关心的是这个目录:opencv\build\java 如下图所示

Eclipse+Java+OpenCV310环境搭建和代码测试_第3张图片

3,建立项目   JavaOpenCv310

Eclipse+Java+OpenCV310环境搭建和代码测试_第4张图片

3.导入java包

Eclipse+Java+OpenCV310环境搭建和代码测试_第5张图片

4.设置项目的native库,即opencv_java310.dll所在的路径 
Eclipse+Java+OpenCV310环境搭建和代码测试_第6张图片

5.项目目录结构如下:

Eclipse+Java+OpenCV310环境搭建和代码测试_第7张图片

     我没有采用原版中直接按照类的包格式进行资源的引用,而是创建了Data与Result两个目录用来存放原与结果,这样输出更方便一些。

lbpcascade_frontalface.xml可以从OpenCV库的解压路径下sources\data\lbpcascades找到。

6.编写DetectFaceDemo.java,代码如下:

package com.detal.opencv;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;


public class OpenCv {
    
    public static void main(String[] args) {
          run();
    }
    
    public static void run(){
        SimpleDateFormat f = new SimpleDateFormat("yyyyMMddHHmmss");
        System.loadLibrary("opencv_java310");
        CascadeClassifier faceDetector = new CascadeClassifier("./Data/lbpcascade_frontalface.xml");
        Mat image = Imgcodecs.imread("./Data/timg.jpg");
        MatOfRect faceDetections = new MatOfRect();
        faceDetector.detectMultiScale(image, faceDetections);

        System.out.println(String.format("Detected %s faces",faceDetections.toArray().length));
        for (Rect rect : faceDetections.toArray()) {
            Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x
              + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));
        }

        String filename = "./Result/"+f.format(new Date())+".png";
        System.out.println(String.format("Writing %s", filename));
        Imgcodecs.imwrite(filename, image);
      }
}    

7运行结果:

Eclipse+Java+OpenCV310环境搭建和代码测试_第8张图片





你可能感兴趣的:(java+opencv,人脸识别)