public abstract class BaseFeatureSearchEngine extends java.lang.Object
FseJniBridge拆分开主要是为了便于生成c header文件| Modifier and Type | Class and Description |
|---|---|
static class |
BaseFeatureSearchEngine.FeatureSeImpl
|
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_INITIAL_CAPACITY |
static float |
DEFAULT_LOAD_FACTOR |
static int |
DEFAULT_MODE |
static int |
DEFAULT_OVERBLOCK_CAPACITY |
protected static java.lang.String |
ENV_FSE |
protected static java.lang.String |
FSE_LIBNAME |
protected static boolean |
libraryLoaded
动态库是否加载标志
子类在成功加载动态库后,须将此标志置为true |
protected static java.lang.String |
PROP_FSE |
protected static java.lang.String |
PROP_LIBNAME |
| Modifier | Constructor and Description |
|---|---|
protected |
BaseFeatureSearchEngine() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
addFeature(byte[] id,
byte[] code,
java.lang.String imgMD5)
添加一条特征码到内存表
输入参数 id, code为null时抛出IllegalArgumentException |
static void |
clearAll()
删除内存表中所有特征数据
|
static CodeBean |
getFeature(byte[] id)
根据特征码ID在表中查找指定的记录
|
protected static java.lang.String |
getFseHome()
查找 fse_home变量
优先在系统变量定义中查找'fse_home',如果找不到,再在环境变量中查找'FSE_HOME' 如果都找不到则返回 null |
protected static java.lang.String |
getFseLibname() |
protected static void |
init()
用缺省值初始化
|
static void |
init(int mode,
int initCapacity,
float loadFactor,
int overBlockCapacity)
JNI接口初始化
|
static boolean |
isLibraryLoaded() |
protected static void |
loadLibrary(java.lang.String libdir,
java.lang.String libname)
加载名为
libname的动态库,
如果libdir为null则调用System.loadLibrary(String)在系统搜索路径下查找动态库,
否则调用System.load(String)加载libdir指定路径下的动态库 |
static void |
release()
释放所有资源
|
static boolean |
removeFeature(byte[] id)
根据特征码ID中表中删除指定的记录
|
static CodeBean[] |
searchCode(byte[] code,
double sim,
int rows,
java.util.Collection<java.lang.String> imgMD5Set,
net.gdface.utils.TimeCostProbe timeCost)
|
static CodeBean[] |
searchCode(byte[] code,
double sim,
int rows,
java.util.Set<java.lang.String> imgMD5Set,
net.gdface.utils.TimeCostProbe timeCost)
特征码
code与数据库中的特征码比对,以相似度降序返回比对结果 |
static CodeBean[] |
searchCode(byte[] code,
double sim,
int rows,
java.lang.String[] imgMD5Set)
在内存表中根据比对相似度进行特征码搜索
|
static int |
size() |
static java.lang.String |
statInfo() |
protected static final java.lang.String ENV_FSE
protected static final java.lang.String PROP_FSE
protected static final java.lang.String PROP_LIBNAME
protected static final java.lang.String FSE_LIBNAME
public static final int DEFAULT_INITIAL_CAPACITY
public static final float DEFAULT_LOAD_FACTOR
public static final int DEFAULT_OVERBLOCK_CAPACITY
public static final int DEFAULT_MODE
protected static boolean libraryLoaded
protected BaseFeatureSearchEngine()
protected static void loadLibrary(java.lang.String libdir, java.lang.String libname)
libname的动态库,
如果libdir为null则调用System.loadLibrary(String)在系统搜索路径下查找动态库,
否则调用System.load(String)加载libdir指定路径下的动态库libdir - libname - protected static final java.lang.String getFseHome()
nullprotected static final java.lang.String getFseLibname()
protected static void init()
public static final CodeBean[] searchCode(byte[] code, double sim, int rows, java.util.Set<java.lang.String> imgMD5Set, net.gdface.utils.TimeCostProbe timeCost)
code与数据库中的特征码比对,以相似度降序返回比对结果code - sim - rows - imgMD5Set - timeCost - CodeBean数组searchCode(byte[], double, int, String[])public static final CodeBean[] searchCode(byte[] code, double sim, int rows, java.util.Collection<java.lang.String> imgMD5Set, net.gdface.utils.TimeCostProbe timeCost)
code - sim - rows - imgMD5Set - timeCost - searchCode(byte[], double, int, Set, TimeCostProbe)public static boolean isLibraryLoaded()
public static void init(int mode, int initCapacity, float loadFactor, int overBlockCapacity)
mode - 指定运行模式(opencl,sse),默认为0(自动识别)initCapacity - 内存表初始化容量loadFactor - 内存表扩容因子overBlockCapacity - 过载表容量public static void release()
public static CodeBean[] searchCode(byte[] code, double sim, int rows, java.lang.String[] imgMD5Set)
code - 要比对的特征码sim - 相似度阀值rows - 最大返回的记录数imgMD5Set - 比对的图片范围public static CodeBean getFeature(byte[] id)
id - 特征码ID,为null时抛出IllegalArgumentExceptionpublic static boolean addFeature(byte[] id, byte[] code, java.lang.String imgMD5)
id, code为null时抛出IllegalArgumentExceptionid - 特征码ID(MD5校验码)code - 特征码字节数组imgMD5 - 特征码所在图像的MD5校验码,可为nullpublic static boolean removeFeature(byte[] id)
id - 特征码MD5校验码public static void clearAll()
public static int size()
public static java.lang.String statInfo()
Copyright © 2020. All rights reserved.