功能简述
感觉人脸识别功能有点意思,就尝试写了一个小demo,然后将其整合到自己的项目中;下面是基于Java实现的人脸识别demo。
功能流程
- 调用摄像头获取图像

- 判断是否为新用户
然后就会跳转:

下面会具体分析
SDK
这个人脸识别的功能是调用的第三方SDK,自己不会写~~。

注册之后,可以免费使用100个应用;且适用于多平台,我这里是windows64位;
下载后的SDK目录如下:

里面有说明文档、jar包以及依赖文件和一个demo。
JavaWeb版
这里是官网给的JavaWeb版案例,我做了一些注释:
import com.arcsoft.face.*;
import com.arcsoft.face.enums.*;
import com.arcsoft.face.toolkit.ImageInfo;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.arcsoft.face.toolkit.ImageInfoEx;
import static com.arcsoft.face.toolkit.ImageFactory.getGrayData;
import static com.arcsoft.face.toolkit.ImageFactory.getRGBData;
public class FaceEngineTest {
public static void main(String[] args) {
//从官网获取
String appId = "";
String sdkKey = "";
FaceEngine faceEngine = new FaceEngine("D:\\arcsoft_lib");
//激活引擎,只需要一次
int errorCode = faceEngine.activeOnline(appId, sdkKey);
if (errorCode != ErrorInfo.MOK.getValue() && errorCode != ErrorInfo.MERR_ASF_ALREADY_ACTIVATED.getValue()) {
System.out.println("引擎激活失败");
}
ActiveFileInfo activeFileInfo=new ActiveFileInfo();
errorCode = faceEngine.getActiveFileInfo(activeFileInfo);
if (errorCode != ErrorInfo.MOK.getValue() && errorCode != ErrorInfo.MERR_ASF_ALREADY_ACTIVATED.getValue()) {
System.out.println("获取激活文件信息失败");
}
//引擎配置,保存默认即可
EngineConfiguration engineConfiguration = new EngineConfiguration();
engineConfiguration.setDetectMode(DetectMode.ASF_DETECT_MODE_IMAGE);
engineConfiguration.setDetectFaceOrientPriority(DetectOrient.ASF_OP_ALL_OUT);
engineConfiguration.setDetectFaceMaxNum(10);
engineConfiguration.setDetectFaceScaleVal(16);
//功能配置,可以设置面容识别时是否分析年龄、性别、3d等。
FunctionConfiguration functionConfiguration = new FunctionConfigurat

本文介绍了一个基于Java的简单人脸识别Demo,涉及摄像头调用、新用户识别、SDK集成、功能配置与实战演示,包括人脸检测、特征提取、比对及多模块操作教程。
最低0.47元/天 解锁文章
1053





