Eclipse+Java+OpenCV246人脸识别

---恢复内容开始---

1.环境搭建:见上一篇博客

整个项目的结构图:

2.编写DetectFaceDemo.java,代码如下:

[java] view plaincopy

  1. package com.njupt.zhb.test;  
  2. import org.opencv.core.Core;  
  3. import org.opencv.core.Mat;  
  4. import org.opencv.core.MatOfRect;  
  5. import org.opencv.core.Point;  
  6. import org.opencv.core.Rect;  
  7. import org.opencv.core.Scalar;  
  8. import org.opencv.highgui.Highgui;  
  9. import org.opencv.objdetect.CascadeClassifier;  
  10.   
  11. //  
  12. // Detects faces in an image, draws boxes around them, and writes the results  
  13. // to "faceDetection.png".  
  14. //  
  15. public class DetectFaceDemo {  
  16.   public void run() {  
  17.     System.out.println("\nRunning DetectFaceDemo");  
  18.     System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());  
  19.     // Create a face detector from the cascade file in the resources  
  20.     // directory.  
  21.     //CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());  
  22.     //Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());  
  23.     //注意:源程序的路径会多打印一个‘/’,因此总是出现如下错误  
  24.         /* 
  25.          * Detected 0 faces Writing faceDetection.png libpng warning: Image 
  26.          * width is zero in IHDR libpng warning: Image height is zero in IHDR 
  27.          * libpng error: Invalid IHDR data 
  28.          */  
  29.     //因此,我们将第一个字符去掉  
  30.     String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);  
  31.     CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);  
  32.     Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));  
  33.     // Detect faces in the image.  
  34.     // MatOfRect is a special container class for Rect.  
  35.     MatOfRect faceDetections = new MatOfRect();  
  36.     faceDetector.detectMultiScale(image, faceDetections);  
  37.   
  38.     System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));  
  39.   
  40.     // Draw a bounding box around each face.  
  41.     for (Rect rect : faceDetections.toArray()) {  
  42.         Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));  
  43.     }  
  44.   
  45.     // Save the visualized detection.  
  46.     String filename = "faceDetection.png";  
  47.     System.out.println(String.format("Writing %s", filename));  
  48.     Highgui.imwrite(filename, image);  
  49.   }  
  50. }  

3.编写测试类:

[java] view plaincopy

  1. package com.njupt.zhb.test;  
  2. public class TestMain {  
  3.   public static void main(String[] args) {  
  4.     System.out.println("Hello, OpenCV");  
  5.     // Load the native library.  
  6.     System.loadLibrary("opencv_java246");  
  7.     new DetectFaceDemo().run();  
  8.   }  
  9. }  
  10. //运行结果:  
  11. //Hello, OpenCV  
  12. //  
  13. //Running DetectFaceDemo  
  14. ///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml  
  15. //Detected 8 faces  
  16. //Writing faceDetection.png  

运行结果:

源码下载:http://download.csdn.net/detail/nuptboyzhb/5961985

未经允许,不得用于商业目的

---恢复内容结束---

1.环境搭建:见上一篇博客

整个项目的结构图:

2.编写DetectFaceDemo.java,代码如下:

[java] view plaincopy

  1. package com.njupt.zhb.test;  
  2. import org.opencv.core.Core;  
  3. import org.opencv.core.Mat;  
  4. import org.opencv.core.MatOfRect;  
  5. import org.opencv.core.Point;  
  6. import org.opencv.core.Rect;  
  7. import org.opencv.core.Scalar;  
  8. import org.opencv.highgui.Highgui;  
  9. import org.opencv.objdetect.CascadeClassifier;  
  10.   
  11. //  
  12. // Detects faces in an image, draws boxes around them, and writes the results  
  13. // to "faceDetection.png".  
  14. //  
  15. public class DetectFaceDemo {  
  16.   public void run() {  
  17.     System.out.println("\nRunning DetectFaceDemo");  
  18.     System.out.println(getClass().getResource("lbpcascade_frontalface.xml").getPath());  
  19.     // Create a face detector from the cascade file in the resources  
  20.     // directory.  
  21.     //CascadeClassifier faceDetector = new CascadeClassifier(getClass().getResource("lbpcascade_frontalface.xml").getPath());  
  22.     //Mat image = Highgui.imread(getClass().getResource("lena.png").getPath());  
  23.     //注意:源程序的路径会多打印一个‘/’,因此总是出现如下错误  
  24.         /* 
  25.          * Detected 0 faces Writing faceDetection.png libpng warning: Image 
  26.          * width is zero in IHDR libpng warning: Image height is zero in IHDR 
  27.          * libpng error: Invalid IHDR data 
  28.          */  
  29.     //因此,我们将第一个字符去掉  
  30.     String xmlfilePath=getClass().getResource("lbpcascade_frontalface.xml").getPath().substring(1);  
  31.     CascadeClassifier faceDetector = new CascadeClassifier(xmlfilePath);  
  32.     Mat image = Highgui.imread(getClass().getResource("we.jpg").getPath().substring(1));  
  33.     // Detect faces in the image.  
  34.     // MatOfRect is a special container class for Rect.  
  35.     MatOfRect faceDetections = new MatOfRect();  
  36.     faceDetector.detectMultiScale(image, faceDetections);  
  37.   
  38.     System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));  
  39.   
  40.     // Draw a bounding box around each face.  
  41.     for (Rect rect : faceDetections.toArray()) {  
  42.         Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0));  
  43.     }  
  44.   
  45.     // Save the visualized detection.  
  46.     String filename = "faceDetection.png";  
  47.     System.out.println(String.format("Writing %s", filename));  
  48.     Highgui.imwrite(filename, image);  
  49.   }  
  50. }  

3.编写测试类:

[java] view plaincopy

  1. package com.njupt.zhb.test;  
  2. public class TestMain {  
  3.   public static void main(String[] args) {  
  4.     System.out.println("Hello, OpenCV");  
  5.     // Load the native library.  
  6.     System.loadLibrary("opencv_java246");  
  7.     new DetectFaceDemo().run();  
  8.   }  
  9. }  
  10. //运行结果:  
  11. //Hello, OpenCV  
  12. //  
  13. //Running DetectFaceDemo  
  14. ///E:/eclipse_Jee/workspace/JavaOpenCV246/bin/com/njupt/zhb/test/lbpcascade_frontalface.xml  
  15. //Detected 8 faces  
  16. //Writing faceDetection.png  

运行结果:

源码下载:http://download.csdn.net/detail/nuptboyzhb/5961985

未经允许,不得用于商业目的

时间: 2024-07-29 23:40:13

Eclipse+Java+OpenCV246人脸识别的相关文章

求一个java的人脸识别系统源码

问题描述 求一个java的人脸识别系统源码 用java语言开发,可以进行人脸识别的程序,算法不要太复杂,能进行简单的人脸识别就行了 解决方案 求人脸识别系统源代码!!! 解决方案二: 一个完整的项目demo http://download.csdn.net/detail/apbbbbb/9525308

Eclipse+Java+OpenCV246环境搭建和代码测试

1.首先下载OpenCV2.4.6,下载的时候,选择windows版的.然后安装 2.其实安装的过程就是解压的过程,并没有什么安装向导之类的,安装完成后,我们最关心的是这个目录:opencv\build\java 如下图所示 注意:opencv-246.jar是需要在opencv的java类库,但是,真正的实现是opencv_java246.dll(X86和X64之分,关键看你的计算机是多少位的)3.建立一个Java项目 4.新建一个Java类,代码如下: [java] view plainco

人脸识别-百度开放云BRF java代码

问题描述 百度开放云BRF java代码 求百度人脸识别BRF的java代码,或其他人脸识别的java代码,急,跪求 解决方案 Javacv人脸识别源码(2013.11.23新.包含测试图片,视频,各种包,opencv Dll文件) 软件下载地址 http://download.csdn.net/detail/anqing715/6560059 1.将下载好解压出来的ForFun项目到eclipse中 1)将根目录的全部DLL文件复制到C:windowsSystem32文件夹中.(不移动我的机子

计算机视觉库/人脸识别开源软件

中文车牌识别系统 EasyPR EasyPR 是一个开源的中文车牌识别系统. EasyPR是一个中文的开源车牌识别系统,其目标是成为一个简单.灵活.准确的车牌识别引擎. 相比于其他的车牌识别系统,EasyPR有如下特点: 它基于openCV这个开源库,这意味着所有它的代码都可以轻易的获取. 它能够...更多EasyPR信息 最近更新: EasyPR 1.3 Beta 发布,中文车牌识别系统 发布于 7个月前   开源生物特征识别库 OpenBR OpenBR 是一个用来从照片中识别人脸的工具.还

阿里人脸识别:能针对不同应用场景 各模块可自由组合

阿里人脸识别服务是一款用于提供图像或者视频帧中人脸分析的在线服务产品.该产品可以提供若干人脸技术的在线API服务给开发者和企业,其中包括人脸检测.人脸特征提取.人脸年龄估计和性别识别.人脸关键点定位等独立服务模块. 人脸识别技术各模块可通过API参数可自由组合,服务定制非常灵活.并且由于采用业界领先的深度学习算法和海量多样大的人脸标注数据,效果精准.鲁棒,再加上依托阿里云的技术实力,能提供稳定.可靠的大流量服务. 人脸识别技术服务中的五个独立API功能,采用了不同的技术路线. 人脸检测基于boo

Linux Deepin 2013支持人脸识别功能

2013年是不平凡的一年,自这一年的1月28日开始,我们相继发布了12.12 Alpha.Beta.RC.12.12正式版.12.12.1增强版等多个版本.Linux Deepin的新桌面环境从优秀的用户体验着手,在Linux桌面发展领域做出了多项尝试和创新,也在一个个版本中逐步走向成熟和稳定.在此期间,无数社区爱好者对我们给予了热情的鞭策与鼓励. 为感谢广大社区用户的支持与厚爱,我们在继承了Linux Deepin 12.12正式版及12.12.1增强版等版本特色的基础上,特推出Linux D

基于HTML5 的人脸识别技术核心代码

绍一个网站,演示了通过 HTML5 + JavaScript 技术实现的人脸识别,目前仅适用于 Chrome浏览器,首先需要在地址栏输入 about:flags ,然后找到"启用 MediaStream" 这一项,点击"启用" 后重启 Chrome 浏览器 然后打开下面地址: http://neave.com/webcam/html5/face/ 当你摇头晃脑的时候,那副眼镜会跟着移动并帮你戴上眼镜. 你可以查看网页源码来了解具体的实现细节. -----------

Linux Deepin 2013发布:加入人脸识别功能

  2013年是不平凡的一年,自这一年的1月28日开始,我们相继发布了12.12 Alpha.Beta.RC.12.12正式版.12.12.1增强版等多个版本.Linux Deepin的新桌面环境从优秀的用户体验着手,在Linux桌面发展领域做出了多项尝试和创新,也在一个个版本中逐步走向成熟和稳定.在此期间,无数社区爱好者对我们给予了热情的鞭策与鼓励. 为感谢广大社区用户的支持与厚爱,我们在继承了Linux Deepin 12.12正式版及12.12.1增强版等版本特色的基础上,特推出Linux

Linux Deepin 2013加入人脸识别功能

 013年是不平凡的一年,自这一年的1月28日开始,我们相继发布了12.12 Alpha.Beta.RC.12.12正式版.12.12.1增强版等多个版本.Linux Deepin的新桌面环境从优秀的用户体验着手,在Linux桌面发展领域做出了多项尝试和创新,也在一个个版本中逐步走向成熟和稳定.在此期间,无数社区爱好者对我们给予了热情的鞭策与鼓励.   为感谢广大社区用户的支持与厚爱,我们在继承了Linux Deepin 12.12正式版及12.12.1增强版等版本特色的基础上,特推出Linux