Java OpenCV 图形图像 人脸识别
Java OpenCV-4.0.0人脸识别如果没有部署好Eclipse+OpenCV请查看Eclipse+OpenCV环境搭建package opencv;import org.opencv.core.Core;import org.opencv.core.Mat;import org.opencv.core.MatOfRect;import org.opencv.core.Poi...
·
Java OpenCV 图形图像 人脸识别
1 如果没有部署好Java+OpenCV-4.0.0请查看。
2 Eclipse+OpenCV环境搭建
3 Intellij Idea+OpenCV环境搭建
4 如果你的图片中的人脸识别成功,你可以试一下调用笔记本的摄像头试一下实时人脸识别。实时人脸识别(摄像头/视频人脸识别)
package com.xu.opencv;
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.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;
/**
* @Title: FaceDetect.java
* @Description: OpenCV-4.0.0 测试文件
* @Package com.xu.test
* @author: xuhyacinth
* @date: 2019年5月7日12:13:13
* @version: V-1.0.0
* @Copyright: 2019 xuhyacinth
*/
public class FaceDetect {
static {
//在使用OpenCV前必须加载Core.NATIVE_LIBRARY_NAME类,否则会报错
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
face();
}
/**
* OpenCV-4.0.0 人脸识别
*
* @return: void
* @date: 2019年5月7日12:16:55
*/
public static void face() {
// 1 读取OpenCV自带的人脸识别特征XML文件
//OpenCV 图像识别库一般位于 opencv\sources\data 下面
CascadeClassifier facebook = new CascadeClassifier("D:\\OpenCV\\opencv-4.0.0\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml");
// 2 读取测试图片
Mat image = Imgcodecs.imread("C:\\Users\\Administrator\\Pictures\\99.png");
// 3 特征匹配
MatOfRect face = new MatOfRect();
facebook.detectMultiScale(image, face);
// 4 匹配 Rect 矩阵 数组
Rect[] rects = face.toArray();
System.out.println("匹配到 " + rects.length + " 个人脸");
// 5 为每张识别到的人脸画一个圈
for (int i = 0; i < rects.length; i++) {
Imgproc.rectangle(image, new Point(rects[i].x, rects[i].y), new Point(rects[i].x + rects[i].width, rects[i].y + rects[i].height), new Scalar(0, 0, 255));
Imgproc.putText(image, "Human", new Point(rects[i].x, rects[i].y), Imgproc.FONT_HERSHEY_SCRIPT_SIMPLEX, 1.0, new Scalar(0, 255, 0), 1, Imgproc.LINE_AA, false);
}
// 6 展示图片
HighGui.imshow("人脸识别", image);
HighGui.waitKey(0);
}
}

更多推荐



所有评论(0)