Atitti opencv2.4 实现的人脸检测 attilax总结
Posted attilaxAti
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Atitti opencv2.4 实现的人脸检测 attilax总结相关的知识,希望对你有一定的参考价值。
Atitti opencv2.4 实现的人脸检测 attilax总结
1.2. /atiplat_img/src/com/attilax/facedetection/FaceDetector.java1
1.1. 1、OpenCV人脸检测的方法
在OpenCV中主要使用了两种特征(即两种方法)进行人脸检测,Haar特征和LBP特征。
上图中文件夹的名字“haarcascades”、“hogcascades”和“lbpcascades”分别表示通过“haar”、“hog”和“lbp”三种不同的特征而训练出的分类器:即各文件夹里的文件。"haar"特征主要用于人脸检测,“hog”特征主要用于行人检测,“lbp”特征主要用于人脸识别。打开“haarcascades”文件夹,如下图所示
1.2. /atiplat_img/src/com/attilax/facedetection/FaceDetector.java
public class FaceDetector {
public static void main(String[] args) { System.load( "C:\\\\progrm\\\\opencv\\\\build\\\\java\\\\x64\\\\opencv_java2413.dll" ); // System.loadLibrary(Core.NATIVE_LIBRARY_NAME); System.out.println("\\nRunning FaceDetector");
String path =""; //FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath(); //meitu syosyo zosh use jeig d .. zaidren d blog shwa yao use haarcascades hamyar d .. path="C:\\\\progrm\\\\opencv\\\\sources\\\\data\\\\haarcascades_GPU\\\\haarcascade_frontalface_alt.xml"; CascadeClassifier faceDetector = new CascadeClassifier(path); String img = "C:\\\\0img\\\\a.jpg"; Mat image = Highgui .imread(img);
MatOfRect faceDetections = new MatOfRect(); faceDetector.detectMultiScale(image, faceDetections);
System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));
for (Rect rect : faceDetections.toArray()) { Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(0, 255, 0)); }
String filename = "C:\\\\0img\\\\ouput_faceDetect.png"; System.out.println(String.format("Writing %s", filename)); Highgui.imwrite(filename, image); } |
|
Running FaceDetector Detected 3 faces Writing C:\\0img\\ouput_faceDetect.png
|
1.3. 效果如图:很不错
1.4. Attilax总结,效果还是不错的
面的这些代码可以:
1. 加载本地的OpenCV库,这样就可以用它来调用Java API。
2. 创建实例CascadeClassifier,将已加载的分类器的文件名传递给它。
3. 接下来我们将图片转化成Java API能够接受使用Highui类的格式,铺垫在OpenCV C++的n维密集数组类上边。
4. 然后,调用分类器上的detectMultiScale方法传递给它图象和MatOfRect对象。这个过程之后,MatOfRect将有面部检测。
5. 我们遍历所有的脸部检测并用矩形标记图像。
6. 最后,将图像写入输出的 .png 文件里。
Day 12_ OpenCV —— Java开发者的人脸检测 - GarfieldEr007的专栏 - 博客频道 - CSDN.NET.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
,Uke部落首席大酋长,
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 奶牛科技首席cto , 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人。
uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,
uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 uke终身教育学校副校长
Uke 数据库与存储标准化协会副会长 uke出版社编辑总编
Uke医院 与医学院方面的创始人
Uke 户外运动协会理事长 uke交友协会会长
转载请注明来源:attilax的专栏 ?http://www.cnblogs.com/attilax/
--Atiend
以上是关于Atitti opencv2.4 实现的人脸检测 attilax总结的主要内容,如果未能解决你的问题,请参考以下文章