📄 minutia.h
字号:
/*############################################################################# * 文件名:minutia.h * 功能: 细节点的一些函数接口 * modified by PRTsinghua@hotmail.com#############################################################################*/#if !defined FVS__MINUTIA_HEADER__INCLUDED__#define FVS__MINUTIA_HEADER__INCLUDED__/* 基本类型定义 */#include "fvstypes.h"#include "image.h"#include "floatfield.h"/* 不同细节点类型的定义 */typedef enum FvsMinutiaType_t{ FvsMinutiaTypeEnding = 0, /* 端点 */ FvsMinutiaTypeBranching = 1, /* 分歧点 */ FvsMinutiaTypeCore = 2, /* 核心点 */ FvsMinutiaTypeDelta = 3, /* 三角点 */} FvsMinutiaType_t;/* 细节点结构,使用了FBI的模型,尽可能准确的提取细节点的类型,坐标,角度 */typedef struct FvsMinutia_t{ /* 细节点类型 */ FvsMinutiaType_t type; /* X轴坐标 */ FvsFloat_t x; /* Y轴坐标 */ FvsFloat_t y; /* 细节点方向 */ FvsFloat_t angle;} FvsMinutia_t;/* 对象的这些接口实现是私有的,不必为用户所知 */typedef FvsHandle_t FvsMinutiaSet_t;/****************************************************************************** * 功能:创建一个细节点集合 * 参数:size 集合的大小 * 返回:若失败,返回空;否则返回新的对象句柄******************************************************************************/FvsMinutiaSet_t MinutiaSetCreate (const FvsInt_t size);/****************************************************************************** * 功能:销毁细节点集合。 * 一旦销毁,该对象不再可以为任何函数所用,直到重新申请。 * 参数:minutia 细节点集合 * 返回:无******************************************************************************/void MinutiaSetDestroy(FvsMinutiaSet_t minutia);/****************************************************************************** * 功能:获得细节点集合的大小 * 参数:minutia 细节点集合 * 返回:细节点集合大小******************************************************************************/FvsInt_t MinutiaSetGetSize(const FvsMinutiaSet_t minutia);/****************************************************************************** * 功能:细节点集合的实际元素个数 * 参数:minutia 细节点集合 * 返回:元素个数******************************************************************************/FvsInt_t MinutiaSetGetCount(const FvsMinutiaSet_t minutia);/****************************************************************************** * 功能:返回细节点集合的数据缓冲区指针 * 参数:minutia 细节点集合 * 返回:指针******************************************************************************/FvsMinutia_t* MinutiaSetGetBuffer(FvsMinutiaSet_t minutia);/****************************************************************************** * 功能:清空细节点集合 * 参数:minutia 细节点集合 * 返回:错误编号******************************************************************************/FvsError_t MinutiaSetEmpty(FvsMinutiaSet_t minutia);/****************************************************************************** * 功能:在集合中添加一个细节点,如果满了,返回一个错误 * 参数:minutia 细节点集合 * x 细节点的X坐标 * y 细节点的Y坐标 * type 细节点类型 * angle 角度 * 返回:错误编号******************************************************************************/FvsError_t MinutiaSetAdd ( FvsMinutiaSet_t minutia, const FvsFloat_t x, const FvsFloat_t y, const FvsMinutiaType_t type, const FvsFloat_t angle );/****************************************************************************** * 功能:从细化图像中提取细节点,并储存到集合中。 * 申请的细节点集合必须足够大,如果太小了,满了后会停止搜索细节点。 * 参数:minutia 细节点集合,用来保存细节点 * image 细化后的图像 * direction 用来计算方向用 * mask 用来表示有效的指纹区域 * 返回:错误编号******************************************************************************/FvsError_t MinutiaSetExtract ( FvsMinutiaSet_t minutia, const FvsImage_t image, const FvsFloatField_t direction, const FvsImage_t mask );/****************************************************************************** * 功能:在图像中画出细节点,不改变背景 * 参数:minutia 细节点集合 * image 指纹图像 * 返回:错误编号******************************************************************************/FvsError_t MinutiaSetDraw ( const FvsMinutiaSet_t minutia, FvsImage_t image );#endif /* FVS__MINUTIA_HEADER__INCLUDED__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -