Atitti opencv2.4 实现的人脸检测 attilax总结

 

Atitti opencv2.4 实现的人脸检测 attilax总结

 

 

1.1. 1OpenCV人脸检测的方法1

1.2. /atiplat_img/src/com/attilax/facedetection/FaceDetector.java1

1.3. 效果如图:很不错3

1.4. Attilax总结,效果还是不错的3

 

 

1.1. 1OpenCV人脸检测的方法

 

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

 

 

 

posted @ 2017-01-17 01:47 attilaxAti 阅读(...) 评论(...) 编辑 收藏