⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minutia1.h

📁 开发环境KEIL
💻 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 + -