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

  

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

        包com.xu.opencv;      进口org.opencv.core.Core;   进口org.opencv.core.Mat;   进口org.opencv.core.MatOfRect;   进口org.opencv.core.Point;   进口org.opencv.core.Rect;   进口org.opencv.core.Scalar;   进口org.opencv.highgui.HighGui;   进口org.opencv.imgproc.Imgproc;   进口org.opencv.objdetect.CascadeClassifier;   进口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   *   */公共类图像{      静态{//在使用OpenCV前必须加载Core.NATIVE_LIBRARY_NAME类,否则会报的错   System.loadLibrary (Core.NATIVE_LIBRARY_NAME);   }      公共静态void main (String [] args) {   videoFace ();   }/* *   * OpenCV-4.0.0实时人脸识别   * @return:空白   * @date: 2019年5月7日12:16:55   */公共静态孔隙videoFace () {   VideoCapture捕捉=new VideoCapture (0);   垫图像=new垫();   int指数=0;   如果(capture.isOpened ()) {   而(真){   capture.read(图片);   HighGui。imshow(“实时人脸识别”,getFace(图片);   指数=HighGui.waitKey (1);   如果(指数==27){   打破;   }   }   }   返回;   }/* *   * OpenCV-4.0.0人脸识别   * @date: 2019年5月7日12:16:55   * @param图像待处理垫图片(视频中的某一帧)   * @return处理后的图片      */公共静态垫getFace(垫图片){//1读取OpenCV自带的人脸识别特征XML文件   CascadeClassifier facebook=new CascadeClassifier (“E: \ \ OpenCV-4.0.0 \ \ \ \ \ \数据来源haarcascades \ \ haarcascade_frontalface_alt.xml”);//2特征匹配类   MatOfRect脸=new MatOfRect ();//3特征匹配   facebook.detectMultiScale(形象,脸);   矩形[]矩形=face.toArray ();   system . out。println(“匹配到“+矩形。长度+”个人脸”);//4为每张识别到的人脸画一个圈   for (int i=0;我& lt;rects.length;我+ +){   Imgproc。矩形(图片,新的点(矩形[我]。x,矩形[我].y),新的点(矩形[我]。x +矩形[我].width,矩形[我]。y +矩形[我].height),新的标量(0 255 0));   Imgproc。putText(图片、“人”、新观点(矩形[我]。x,矩形[我].y), Imgproc。FONT_HERSHEY_SCRIPT_SIMPLEX, 1.0,新的标量(0 255 0),1,Imgproc.LINE_AA,假);//垫dst=image.clone ();//Imgproc。调整(图片、图像、新尺寸(300300));   }   返回图像;   }      }   之前      

效果图:

  

癑ava

  

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

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