opencv face-detection 代码分析 (1)人脸识别后的数据

时间:2021-08-03 04:40:49
2014,3,16
 
老师的工作建议如下:
 
1. 与四民沟通下,把openCV这边的源代码和调用接口发给四民同时抄送给我。
2. 根据openCV的实时检测结果,实现对屏幕的调整(下周一前基本实现,下周五完全实现)。 四民这边会辅助你。

近期任务: 2014.3.14

每天的汇总各发给老师和师兄

opencv:把opencv函数接口注释,搞懂它的功能,了解它检测的数据是。。。

测试。。。

底层:安卓阅读器,放大缩小。。。怎么去调用

原函数是这样的

分析一下这个函数

 public Mat onCameraFrame(CvCameraViewFrame inputFrame) {//输入的数据是一幅图

         mRgba = inputFrame.rgba();
         mGray = inputFrame.gray();

           //开始检测面部
         if (mAbsoluteFaceSize == 0) {
             int height = mGray.rows();
             if (Math.round(height * mRelativeFaceSize) > 0) {
                 mAbsoluteFaceSize = Math.round(height * mRelativeFaceSize);
             }
             mNativeDetector.setMinFaceSize(mAbsoluteFaceSize);
         }

         MatOfRect faces = new MatOfRect();

         if (mDetectorType == JAVA_DETECTOR) {
             if (mJavaDetector != null)
                 mJavaDetector.detectMultiScale(mGray, faces, 1.1, 2, 2, // TODO: objdetect.CV_HAAR_SCALE_IMAGE
                         new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size());
         }
         else if (mDetectorType == NATIVE_DETECTOR) {
             if (mNativeDetector != null)
                 mNativeDetector.detect(mGray, faces);
         }
         else {
             Log.e(TAG, "Detection method is not selected!");
         }

         Rect[] facesArray = faces.toArray();//人脸的数据是一个数组
         for (int i = 0; i < facesArray.length; i++)//在人脸的位置画一个框
             Core.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(), FACE_RECT_COLOR, 3);

         return mRgba;//输出的数据还是一张图
     }

师兄的要求:

//我想要的是人脸识别后的数据
  Rect[] facesArray = faces.toArray();
        for (int i = 0; i < facesArray.length; i++)
            Core.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(), FACE_RECT_COLOR, 3);
//这里面就有的,可以这样: 

    Rect[] getDataFromCamera(){
    // 这里是你们检测的代码
    Rect[] facesArray = faces.toArray();
    return facesArray;
}
 输入是一张图inputFrame,然后先识别出人脸,然后在人脸的位置画一个框,返回的数据还是一张图,就是多了一个矩形框

Rect[] facesArray = faces.toArray()  这个facesArray应该就是你要的数据了,就是脸的位置

opencv face-detection 代码分析 (1)人脸识别后的数据的更多相关文章

  1. opencv基于PCA降维算法的人脸识别

    opencv基于PCA降维算法的人脸识别(att_faces) 一.数据提取与处理 # 导入所需模块 import matplotlib.pyplot as plt import numpy as n ...

  2. 基于Python3&period;7和opencv的人脸识别(含数据收集,模型训练)

    前言 第一次写博客,有点紧张和兴奋.废话不多说,直接进入正题.如果你渴望使你的电脑能够进行人脸识别:如果你不想了解什么c++.底层算法:如果你也不想买什么树莓派,安装什么几个G的opencv:如果你和 ...

  3. 【opencv】Java实现opencv 调用本地摄像头,实现人脸识别、人形识别、人眼识别

    本博客为老魏原创,如需转载请留言咨询. 效果预览:(没办法,为了效果只能上像了,丑别介意.哈哈..) 上代码: 1 package com.lw.test; 2 3 import java.awt.G ...

  4. FFMPEG结构体分析:AVFrame&lpar;解码后的数据&rpar;

    https://blog.csdn.net/jxcr1984/article/details/52766524 本文转自: http://blog.csdn.net/leixiaohua1020/ar ...

  5. opencv 人脸识别

      背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...

  6. 基于 OpenCV 的人脸识别

    基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...

  7. 【计算机视觉】基于OpenCV的人脸识别

    一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...

  8. OpenCV学习&lpar;37&rpar; 人脸识别&lpar;2&rpar;

          在前面一篇教程中,我们学习了OpenCV中基于特征脸的人脸识别的代码实现,我们通过代码 Ptr<FaceRecognizer> model = createEigenFaceR ...

  9. 用Python20行代码实现人脸识别

    OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python.注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑.为此小编建了个Python全栈免费答疑交 ...

随机推荐

  1. 配置&lt&semi;authorization&gt&semi;节(配置文件)

    在 Web.config 文件的<configuration>标记的子标记<authorization>和</authorization>之间用于设置应用程序的授权 ...

  2. angular的post提交

    用下来明显感觉jquery的post提交比ng的post提交好用很多 一开始,用angularjs的$http提交的数据,在php服务器端无法通过 因为jQuery会把作为JSON对象的data序列化 ...

  3. Android 自己的自动化测试(2)依据ID查找对象&lpar;java&rpar;

    前一篇文章是写 Android 自己的自动化测试(1)如何安装和卸载应用程序(java) ,以下再探索一下假设在普通java应用程序中,依据ID来查找对象 1.类库依赖: The library de ...

  4. 无法使用Django新建项目:&amp&semi;&num;39&semi;django-admin&period;py&amp&semi;&num;39&semi;不是内部或外部命令

    问题: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbXlhdGxhbnRpcw==/font/5a6L5L2T/fontsize/400/fill/I0 ...

  5. 编写高质量代码改善程序的157个建议:使用Dynamic来简化反射的实现

    最近有时间看点书了,把157个建议在重新看一遍,代码都调试一遍.当我看到第15个建议的时候有些出入,就记录下来,欢迎大家来探讨. 第十五条建议是,使用dynamic简化反射的使用,没有说明具体的条件. ...

  6. jQuery与原生js实现banner轮播图

    jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...

  7. 使用ant自动构建apk

    最近因渠道过多,需要单独接入渠道支付sdk的渠道也很多,而首发在即.人手不足,所以着手了部分相关的工作,看了下目前的操作流程..无奈人比较懒,所以决定进行一波简化的技术,先考虑到了两种方案: 1)脚本 ...

  8. Tomcat服务安全加固

    Tomcat服务默认启用了管理后台功能,使用该后台可直接上传 war 文件包对站点进行部署和管理.由于运维人员的疏忽,可能导致管理后台存在空口令或者弱口令的漏洞,使得黑客或者不法分子可以利用该漏洞直接 ...

  9. Javascript将数据转成英文书写格式

    var aTens = [ "TWENTY", "THIRTY", "FORTY", "FIFTY", "SI ...

  10. struts2:多模块多配置文件开发

    struts2支持多模块多配置文件开发.下面是一个仅包含两个模块的示范程序,包括财务.仓库模块.它们都有一个“caiwu“的Action,在各自的命名空间下:还有一个从财务转向到仓库的Action. ...