OpenCV Java如何实现人脸识别和裁剪功能

  介绍

这篇文章将为大家详细讲解有关OpenCV Java如何实现人脸识别和裁剪功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强>安装及配置

<强> 1。首先安装OpenCV, 强地址

这里我下载的是Windows版的3.4.5

癘penCV

然后安装即可……

<强> 2. eclipse配置OpenCV

窗口→选项→Java→用户库

癘penCV

新输入你的图书馆名

癘penCV

这里我的安装目录是D: \ OpenCV,所以是:

癘penCV

然后引入dll,我是64位机子,所以是:

癘penCV

癘penCV

好的,下面创建Java项目做Java与OpenCV的人脸识别。

<强>人脸识别

创建项目后首先右击选择<强>属性

癘penCV

癘penCV

然后引入即可。

引入<强> haarcascade_frontalface_alt。xml 这个xml文件:

癘penCV

我的pom文件如下:

, & lt; dependencies>   ,& lt; dependency>   ,& lt; groupId> org.springframework.boot   ,& lt; artifactId> spring-boot-starter-web   ,& lt;/dependency>   ,   ,   ,& lt; dependency>   ,& lt; groupId> org.bytedeco.javacpp-presets   ,& lt; artifactId> ffmpeg   ,& lt; version> 3.1.2-1.2   ,& lt;/dependency>   ,& lt; dependency>   ,& lt; groupId> org.bytedeco   ,& lt; artifactId> javacv   ,& lt; version> 1.4.1   ,& lt;/dependency>   ,& lt; !——, https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/ffmpeg-platform ——比;   ,& lt; dependency>   ,& lt; groupId> org.bytedeco.javacpp-presets   ,& lt; artifactId> ffmpeg-platform   ,& lt; version> 3.4.2-1.4.1   ,& lt;/dependency>   ,& lt; dependency>   ,& lt; groupId> commons-io   ,& lt; artifactId> commons-io   ,& lt; version> 2.4 & lt;/version>   ,& lt;/dependency>   ,   ,   ,& lt; !——,视频摄像头,——比;   ,& lt; !——, https://mvnrepository.com/artifact/org.bytedeco/javacv-platform ——比;   ,& lt; dependency>   ,& lt; groupId> org.bytedeco   ,& lt; artifactId> javacv-platform   ,& lt; version> 1.4.1   ,& lt;/dependency>   ,& lt; !——, https://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/opencv-platform ——比;   ,& lt; dependency>   ,& lt; groupId> org.bytedeco.javacpp-presets   ,& lt; artifactId> opencv-platform   ,& lt; version> 3.4.1-1.4.1   ,& lt;/dependency>   ,   ,& lt; dependency>   ,& lt; groupId> junit   ,& lt; artifactId> junit   ,& lt; version> 4.12 & lt;/version>   ,& lt; scope> test   ,& lt;/dependency>   ,   ,& lt; dependency>   ,& lt; groupId> org.springframework.boot   ,& lt; artifactId> spring-boot-starter-test   ,& lt; scope> test   ,& lt;/dependency>   ,& lt;/dependencies>

修改我的端口号:

服务器。端口=8889

最后代码如下:

import  java.io.BufferedInputStream;   import  java.io.ByteArrayOutputStream;   import  java.io.File;   import  java.io.FileInputStream;   import  java.io.FileNotFoundException;   import  java.io.IOException;   ,   import  javax.servlet.http.HttpServletResponse;   ,   import  org.apache.commons.io.FileUtils;   import  org.opencv.core.Core;   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.core.Size;   import  org.opencv.imgcodecs.Imgcodecs;   import  org.opencv.imgproc.Imgproc;   import  org.opencv.objdetect.CascadeClassifier;   import  org.springframework.beans.factory.annotation.Value;   import  org.springframework.core.io.Resource;   import  org.springframework.web.bind.annotation.PostMapping;   import  org.springframework.web.bind.annotation.RestController;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

OpenCV Java如何实现人脸识别和裁剪功能