Java OpenCV4.0.0实现实时人脸识别

本文实例为大家分享了javaOpenCV-4.0.0 实时人脸识别,供大家参考,具体内容如下

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.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;
import org.opencv.videoio.VideoCapture;

/**
 *
 * @Title: Image.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 Image {

 static {
 //在使用OpenCV前必须加载Core.NATIVE_LIBRARY_NAME类,否则会报错
 System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
 }

 public static void main(String[] args) {
 videoFace();
 }

 /**
 * OpenCV-4.0.0 实时人脸识别
 * @return: void
 * @date: 2019年5月7日12:16:55
 */
 public static void videoFace() {
 VideoCapture capture=new VideoCapture(0);
 Mat image=new Mat();
 int index=0;
 if (capture.isOpened()) {
  while(true) {
  capture.read(image);
  HighGui.imshow("实时人脸识别", getFace(image));
  index=HighGui.waitKey(1);
  if (index==27) {
   break;
  }
  }
 }
 return;
 } 

 /**
 * OpenCV-4.0.0 人脸识别
 * @date: 2019年5月7日12:16:55
 * @param image 待处理Mat图片(视频中的某一帧)
 * @return 处理后的图片

 */
 public static Mat getFace(Mat image) {
 // 1 读取OpenCV自带的人脸识别特征XML文件
 CascadeClassifier facebook=new CascadeClassifier("E:\\OpenCV-4.0.0\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml");
 // 2 特征匹配类
 MatOfRect face = new MatOfRect();
 // 3 特征匹配
 facebook.detectMultiScale(image, face);
 Rect[] rects=face.toArray();
 System.out.println("匹配到 "+rects.length+" 个人脸");
 // 4 为每张识别到的人脸画一个圈
 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, 255, 0));
  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);
  //Mat dst=image.clone();
  //Imgproc.resize(image, image, new Size(300,300));
 }
 return image;
 }

}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

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

    本文实例为大家分享了OpenCV Java实现人脸识别和裁剪的具体代码,供大家参考,具体内容如下 安装及配置 1.首先安装OpenCV,地址 这里我下载的是Windows版的3.4.5 然后安装即可-- 2.Eclipse配置OpenCV Window->Preferences->Java->User Libraries New输入你的Libraries名 这里我的安装目录是D:\OpenCV,所以是: 然后引入dll,我是64位机子,所以是: Ok,下面创建Java项目做Java与Op

  • OPENCV+JAVA实现人脸识别

    本文实例为大家分享了JAVA实现人脸识别的具体代码,供大家参考,具体内容如下 官方下载 安装文件 ,以win7为例,下载opencv-2.4.13.3-vc14.exe 安装后,在build目录下 D:\opencv\build\java,获取opencv-2413.jar,copy至项目目录 同时需要dll文件 与 各 识别xml文件,进行不同特征的识别(人脸,侧脸,眼睛等) dll目录:D:\opencv\build\java\x64\opencv_java2413.dll xml目录:D:

  • Java OpenCV4.0.0实现实时人脸识别

    本文实例为大家分享了javaOpenCV-4.0.0 实时人脸识别,供大家参考,具体内容如下 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;

  • OpenCV+face++实现实时人脸识别解锁功能

    本文实例为大家分享了OpenCV+face++实现实时人脸识别解锁功能的具体代码,供大家参考,具体内容如下 1.背景 最近做一个小东西,需要登录功能,一开始做的就是普通的密码登录功能,但是之前看到过python可以做人脸识别,所以我就开了下脑洞,能不能实现一个自己的刷脸解锁功能. 2.知识储备 python基础语法 opencv face++文档 requests库 3.基本思路 准备一张你想要被识别出的人脸照片,后面刷脸就是按照这张照片来识别,如果和照片中是同一个人就解锁,刷脸就是打开摄像头获

  • java+opencv实现人脸识别功能

    背景:最近需要用到人脸识别,但又不花钱使用现有的第三方人脸识别接口,为此使用opencv结合java进行人脸识别(ps:opencv是开源的,使用它来做人脸识别存在一定的误差,效果一般). 1.安装opencv 官网地址:https://opencv.org/ , 由于官网下载速度是真的慢 百度网盘: 链接: https://pan.baidu.com/s/1RpsP-I7v8pP2dkqALDw7FQ 提取码: pq7v 如果是官网下载,就无脑安装就行了,安装完毕后. 将图一的两个文件复制到图

  • Python3利用Dlib19.7实现摄像头人脸识别的方法

    0.引言 利用python开发,借助Dlib库捕获摄像头中的人脸,提取人脸特征,通过计算欧氏距离来和预存的人脸特征进行对比,达到人脸识别的目的: 可以自动从摄像头中抠取人脸图片存储到本地,然后提取构建预设人脸特征: 根据抠取的 / 已有的同一个人多张人脸图片提取128D特征值,然后计算该人的128D特征均值: 然后和摄像头中实时获取到的人脸提取出的特征值,计算欧氏距离,判定是否为同一张人脸: 人脸识别 / face recognition的说明: wikipedia 关于人脸识别系统 / fac

  • Python实现人脸识别

    使用到的库: dlib+Opencv python版本: 3.8 编译环境: Jupyter Notebook (Anaconda3) 0.Dlib人脸特征检测原理 提取特征点:首选抓取多张图片,从中获取特征数据集和平均特征值然后写入 csv 文件 - 计算特征数据集的欧式距离作对比:首先使用Opencv库将摄像头中的人脸框出来,再将摄像头中采取到的人脸特征值与数据集中的每个人的特征均值作对比,选取最接近(欧氏距离最小)的值,将其标注为欧氏距离最小的数据集的人名 一.构建人脸特征数据集 安装Dl

  • python实现图像,视频人脸识别(opencv版)

    图片人脸识别 import cv2 filepath = "img/xingye-1.png" img = cv2.imread(filepath) # 读取图片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换灰色 # OpenCV人脸识别分类器 classifier = cv2.CascadeClassifier( "C:\Python36\Lib\site-packages\opencv-master\data\haar

  • 教你如何用Python实现人脸识别(含源代码)

    工具与图书馆 Python-3.x CV2-4.5.2 矮胖-1.20.3 人脸识别-1.3.0 若要安装上述软件包,请使用以下命令. pip install numpy opencv-python 要安装FaceRecognition,首先安装dlib包. pip install dlib 现在,使用以下命令安装面部识别模块 pip install face_recognition 下载人脸识别Python代码 请下载python面部识别项目的源代码: 人脸识别工程代码 项目数据集 我们可以使

  • python实现图片,视频人脸识别(opencv版)

    图片人脸识别 import cv2 filepath = "img/xingye-1.png" img = cv2.imread(filepath) # 读取图片 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换灰色 # OpenCV人脸识别分类器 classifier = cv2.CascadeClassifier( "C:\Python36\Lib\site-packages\opencv-master\data\haar

  • Java+opencv3.2.0实现人脸检测功能

    说到人脸检测,首先要了解Haar特征分类器.Haar特征分类器说白了就是一个个的xml文件,不同的xml里面描述人体各个部位的特征值,比如人脸.眼睛等等.OpenCV3.2.0中提供了如下特征文件: haarcascade_eye.xml haarcascade_eye_tree_eyeglasses.xml haarcascade_frontalcatface.xml haarcascade_frontalcatface_extended.xml haarcascade_frontalface

  • C#版免费离线人脸识别之虹软ArcSoft V3.0(推荐)

    [温馨提示]本文共678字(不含代码),8张图.预计阅读时间需要6分钟. 1. 前言 人脸识别&比对发展到今天,已经是一个非常成熟的技术了,而且应用在生活的方方面面,比如手机.车站.天网等. 我从2016年就开始做人脸识别相关的App,到现在差不多4个年头了,用过的SDK有微软认知服务.旷视科技的Face++.开源的OpenCV. 这里就之前我用过的做一下对比. web api Windows SDK Android SDK iOS SDK 离线使用 价格 速度 微软认知服务 ️ 收费 取决于网

随机推荐