本文实例为大家分享了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)); } 返回图像; } } >之前效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
Java OpenCV4.0.0实现实时人脸识别