使用face++接口实现在Android设备上的人脸识别

本文介绍了如何使用Face++接口在Android设备上实现人脸识别。首先需要从Face++官网获取faceppsdk.jar并导入项目。接着设置相机预览并初始化人脸识别,通过SurfaceView展示摄像头画面。在拍照后上传图片,获取faceid等相关信息,进行人脸识别。此外,还涉及到创建person和group,以便后续人脸识别比较。
摘要由CSDN通过智能技术生成

这几天公司事情不多,把前段时间的弄得一个小项目整理一下,之前曾经用opencv做过人脸识别的相关项目,说实话效果不好,这次用了一下face++的接口实现,比之前的效果好不少,而且也没什么难度,现在就整理一下代码,做个备份吧。

在真正使用之前需要到face++ 网站下载faceppsdk.jar文件,然后倒入eclipse中


以下是布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Bing_By_Fj" >


    <Button
        android:id="@+id/facedectbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Face++检测" />


    <FrameLayout
        android:id="@+id/bing"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >


    </FrameLayout>
    
    <TextView
            android:id="@+id/smiliar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
    android:textSize="25sp"
            android:text="检测值" />
    
    <ImageView
            android:id="@+id/takepicture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            android:src="@drawable/light1_001" />


    <TextView
        android:id="@+id/information"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="信息"
        android:textSize="25sp" />


</RelativeLayout>


首先需要初始化 HttpRequests mRequests;


mRequests=new HttpRequests(String apiKey,String apiSecret);

这里的apikey 和apisecret需要申请;


进入程序后初始化摄像头,并在surfaceview上预览,


mCamera = Camera.open(FindFrontCamera()); 
cameraLayout.addView(new cameraView(bFj, mCamera));

此处cameraView 为

class cameraView extends SurfaceView implements Callback{
Size mPreviewSize;
List<Size> mSupportedPreviewSizes;
public cameraView(Context context,Camera camera) {
super(context);
// TODO Auto-generated constructor stub
SurfaceHolder surfaceHolder;
mCamera=camera;
surfaceHolder=getHolder();
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceHolder.addCallback(this);

mSupportedPreviewSizes=mCamera.getParameters().getSupportedPreviewSizes();
}
@SuppressLint("NewApi")
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值