android OpenCV研究之动态人脸识别

本文介绍如何利用OpenCV在Android上实现动态人脸识别。通过下载OpenCV SDK,创建jniLibs文件夹,导入模块,设置依赖,以及编写必要的代码,可以实现人脸识别功能。文章提供实现步骤,并鼓励读者尝试运行代码。
摘要由CSDN通过智能技术生成

随着直播渐渐的火起来,像抱着直播大腿的其他功能也渐渐的火起来了,比如说人脸识别。说起人脸识别用处甚广,比如说有以这个功能为核心的app:美颜相机、美图秀秀、SNOW等等,但是美颜相机和美图秀秀是用的国内SDK《Face++》来做的,这个sdk呢好像是他们自己的后台进行识别并不是app本身做识别。这样就跟我们今天要了解的动态识别不是很对路,肯定不能拿到摄像头的一帧画面去调一次接口再接回参数吧,这样性能肯定不行。所以今天就拿SNOW的例子来说,虽然我不知道他是用什么做的,但是我们可以用openCV也能实现。


我们先看看效果图:

这里写图片描述


实现步骤如下:

1、首先我们需要去openCV的官网下载sdk,这个是地址:http://opencv.org/downloads.html

2、然后新建个项目我这里以studio里为基准,在main目录里面新建jniLibs文件夹,为什么叫jniLibs呢,因为这是调用c库的默认文件夹命名,当然你也可以命名其他的,但是需要在build里面指定这个文件夹。好了,打开我们刚才下载的文件,然后一次打开sdk\native\libs,最后把libs目录里面的所有文件夹拷贝到jniLibs里面去。请看图:

这里写图片描述

这里写图片描述

3、加好jniLibs之后呢还需要导入一个module,在studio里面点击file->new->import module->导入module目录是刚才下载的sdk\java这个目录。请看图:

这里写图片描述

这里写图片描述

4、导入之后呢右键项目打开open module setting选项,在app选项里点击Dependencies这个,然后点击最右边的+号把刚刚导入的module加进去。请看图:

这里写图片描述

这里写图片描述

5、现在开始写代码了,这里我把需要写的代码文件会一一贴出来,下面请看图:

这里写图片描述


首先是MainActivity的代码:

package com.wyw.facedemo;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.RelativeLayout;

import org.opencv.android.CameraBridgeViewBase;
import org.opencv.android.JavaCameraView;
import org.opencv.android.OpenCVLoader;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.objdetect.CascadeClassifier;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值