需求分析:
需要实现人脸检测,识别和聚类的功能.这三个模块是独立的模块,如果面对相册中大量的数据,需要将中间结果存储到数据库中.
因为纯属验证算法的准确性,这里建立的Table比较简单.
建立三个表格,分别是Pciture\Faces\Cluster表
文件结构如下:
GalleryConstrant.java中主要记录表格中列的名称,把列的名称用变量的形式存储起来,方便在其他地方引用.
GalleryDatabaseHelper.java继承SQLiteOpenHelper类,这里主要实现建表操作.
FaceDetection.java是调用实例,对数据表进行操作.
GalleryConstrant.java中主要记录表格中的列的名称
package com.lenovo.ailab.smartkit4.database;
import android.net.Uri;
/**
- Created by mikeyna on 18-7-2.
*/
public class GalleryConstrant {
//picture table
protected interface PictureColumns {
String ID = “_picture_id”;
String PATH = “path”;
}
public static final class Picture implements PictureColumns {
private Picture() {
}
}
//face table
protected interface FaceColumns {
String ID = “_face_id”;
String PICTURE_ID = “picture_id”;
String RECT = “face_rect”;
String FEATURE = “face_feature”;
String CLUSTER_ID = “cluster_id”;
}
public static final class Face implements FaceColumns {
private Face() {
}
}
//cluster tabel
protected interface ClusterColumns {
String ID = “_cluster_id”;
String AVG_FEATURE = “average_feature”;
}
public static final class Cluster implements ClusterColumns {
private Cluster() {
}
}
}