下边是一个VC写的虹膜识别引擎SDK说明文档
请帮我转成相应的ELPHI代码
附件: 虹膜识别引擎SDK说明文档
一、 概述
本SDK提供虹膜注册和验证(一比一匹配)功能。
引擎的正常运行需要采集设备的支持。
引擎的运行模式(注册和验证)为异步模式,通过回调函数与客户程序通信。
二、 修改记录
三、 错误代码
IRIS_OK=0:允许正常。
IRIS_ERR=1:其他错误。
IRIS_ERR_LIC=2:引擎未注册或注册文件不合法。
IRIS_ERR_NODEV=3:没有连接采集设备。
IRIS_ERR_INVALIDHWND=4:窗口句柄不合法。
IRIS_ERR_MOBANSIZE=5:模板文件大小不合法。
IRIS_ERR_NOINIT=6:引擎未初始化。
IRIS_ERR_INVALIDCB=7:回调函数不合法。
四、 回调函数返回值代码
ENROLL_INFO_OK=0:注册成功。
ENROLL_INFO_CAOSHI=1:注册超时识别。
VERIFY_INFO_OK=0:验证通过。
VERIFY_INFO_INV=1:验证未通过。
VERIFY_INFO_CAOSHI=2:验证超时。
五、 回调函数原型
1. EnrollCallBack(注册过程回调函数)
原型:
typedef void (*EnrollCallBack)( int enroll_info, const BYTE* moban_buf, int moban_size, const BYTE* bitmap_buf, int bitmap_size, int bitmap_num );
说明:
该回调函数用来通知用户注册过程已经结束,并传递注册结果:模板数据和位图数据。
参数:
enroll_info: 注册信息,取值ENROLL_INFO_OK或ENROLL_INFO_CAOSHI。
moban_buf: 如果注册成功,返回模板数据。
moban_size: 如果注册成功,返回模板数据长度。
bitmap_buf: 如果注册成功,返回位图数据,如果有多幅位图,这些位图数据连续存储。
bitmap_size: 如果注册成功,返回位图数据的长度。
bitmap_num: 如果注册成功,返回位图数据中位图的个数。
返回值:无
2. VerifyCallBack(验证过程回调函数)
原型:
typedef void (*VerifyCallBack)( int verify_info );
说明:
该回调函数用来通知用户验证过程已经结束,并传递验证结果信息。
参数:
verify_info: 验证结果信息,取值VERIFY_INFO_OK或VERIFY_INFO_INV或VERIFY_INFO_CAOSHI。
返回值:无
六、 接口函数说明
1. IRIS_initiate(初始化引擎接口)
原型:
int IRIS_initiate( HWND hwnd );
说明:
调用该函数初始化引擎,必须在调用任何其他接口之前调用。
参数:
hwnd: 用来显示视频图像的窗口句柄。该窗口的大小需要用户调整为640*480大小。
返回值:
IRIS_OK: 引擎初始化成功。
IRIS_ERR_LIC: 引擎未注册或注册文件不合法。
IRIS_ERR_NODEV: 没有连接采集设备。
IRIS_ERR_INVALIDHWND: 窗口句柄不合法。
IRIS_ERR: 其他错误。
2. IRIS_enroll(虹膜注册接口)
原型:
int IRIS_enroll( EnrollCallBack pCB );
说明:
调用该函数进行虹膜注册,注册结束后,引擎将会调用传入的回调函数pCB通知用户,并传递注册得到的模板和位图数据。该函数为异步运行模式,即启动注册过程后即返回。
参数:
pCB: 用户给定的注册过程回调函数。关于该回调函数的详细信息请参考(四、五)两节。
返回值:
IRIS_OK: 注册过程启动正常。
IRIS_ERR_NOINIT: 引擎未初始化。
IRIS_ERR_INVALIDCB: 不合法的回调函数地址。
IRIS_ERR: 其他错误。
3. IRIS_verify(虹膜验证接口)
原型:
int IRIS_verify( const BYTE* moban, int moban_size, VerifyCallBack pCB );
说明:
调用该函数进行虹膜验证。用户可以为一个人指定多个模板,比如一个眼睛可以有三个模板,左右眼可以使用六个模板;验证结束后,引擎调用传入的回调函数通知用户验证过程 结束,并传递验证结果。该函数为异步运行模式,即启动验证过程后即返回。
参数:
moban: 指定的模板数据。
moban_size: 模板数据的大小,该参数与指定的模板个数有关。
pCB: 用户给定的验证过程回调函数,关于该回调函数的详细信息请参考(四、五)两节。
返回值:
IRIS_OK: 正常启动验证过程。
IRIS_ERR_NOINIT: 引擎未初始化。
IRIS_ERR_MOBANSIZE: 指定的模板数据的大小不合法。
IRIS_ERR_INVALIDCB: 指定的回调函数地址不合法。
IRIS_ERR: 其他错误。
4. IRIS_stop(终止注册或验证操作接口)
原型:
int IRIS_stop( void );
说明:
调用该函数可以终止正在进行中的注册过程或验证过程。
参数:无
返回值:
IRIS_OK: 正常停止。
IRIS_ERR_NOINIT: 引擎未初始化。
IRIS_ERR: 其他错误。
5. IRIS_release(释放引擎接口)
原型:
void IRIS_release( void );
说明:
调用该函数释放引擎资源。
参数:无
返回值:无我想把它在delphi中运用,不会VC,看不懂VC代码,请大家帮忙,分不是问题,主要感谢大家的热心和诚心!

解决方案 »

  1.   

    三、 错误代码 
    IRIS_OK=0:允许正常。 
    IRIS_ERR=1:其他错误。 
    IRIS_ERR_LIC=2:引擎未注册或注册文件不合法。 
    IRIS_ERR_NODEV=3:没有连接采集设备。 
    IRIS_ERR_INVALIDHWND=4:窗口句柄不合法。 
    IRIS_ERR_MOBANSIZE=5:模板文件大小不合法。 
    IRIS_ERR_NOINIT=6:引擎未初始化。 
    IRIS_ERR_INVALIDCB=7:回调函数不合法。 
    四、 回调函数返回值代码 
    ENROLL_INFO_OK=0:注册成功。 
    ENROLL_INFO_CAOSHI=1:注册超时识别。 
    VERIFY_INFO_OK=0:验证通过。 
    VERIFY_INFO_INV=1:验证未通过。 
    VERIFY_INFO_CAOSHI=2:验证超时。 上面的定义常量,简单
    const
    IRIS_OK = 0;
    //....................
    五、 回调函数原型 
    1. EnrollCallBack(注册过程回调函数) 
    原型: 
    typedef   void (*EnrollCallBack)(   int   enroll_info,   const   BYTE*   moban_buf,   int   moban_size,   const   BYTE*   bitmap_buf,   int   bitmap_size,   int   bitmap_num   ); 
    说明: 
    该回调函数用来通知用户注册过程已经结束,并传递注册结果:模板数据和位图数据。 
    参数: 
    enroll_info:   注册信息,取值ENROLL_INFO_OK或ENROLL_INFO_CAOSHI。 
    moban_buf:   如果注册成功,返回模板数据。 
    moban_size:   如果注册成功,返回模板数据长度。 
    bitmap_buf:   如果注册成功,返回位图数据,如果有多幅位图,这些位图数据连续存储。 
    bitmap_size:   如果注册成功,返回位图数据的长度。 
    bitmap_num:   如果注册成功,返回位图数据中位图的个数。 
    返回值:无 
    2. VerifyCallBack(验证过程回调函数) 
    原型: 
    typedef   void (*VerifyCallBack)(   int   verify_info   ); 
    说明: 
    该回调函数用来通知用户验证过程已经结束,并传递验证结果信息。 
    参数: 
    verify_info:   验证结果信息,取值VERIFY_INFO_OK或VERIFY_INFO_INV或VERIFY_INFO_CAOSHI。 
    返回值:无 回调函数定义
    type EnrollCallBack = ( enroll_info :integer; const  moban_buf : PBYTE; moban_size : integer;  const bitmap_buf : PBYTE;  bitmap_size : integer;  bitmap_num : integer); 
    type VerifyCallBack = (verify_info : integer); 
    六、 接口函数说明 Function IRIS_initiate(hwnd : HWND ): integer;
    Function IRIS_enroll( pCB : EnrollCallBack ): integer;
    Function IRIS_verify(const  moban : PBYTE ;  moban_size : integer;  pCB : VerifyCallBack ): integer;
    Function IRIS_stop( ): integer;
    procedure IRIS_release( ); 
      

  2.   

    只有一个SDK文档说明不清楚
    我有一个VC++写的调用例子,谁帮我改版成DELPHI,分不是问题,我有5000-6000的可用分,有意帮忙的留下EMAIL,谢谢了!!
      

  3.   

    thisisxutao (感觉跟我走) 在CSDN社区共有可用分:12400, 已花费可用分:6310, 剩余可用分:6090, 总技术分:3277 , 已花费技术分:0, 总非技术分:315, 上次排名:5845 名,现在排名:5858 名 
      

  4.   

    To 楼主: edongxu 已经给出了全部接口了啊。这里面,就是回调函数的使用上,你可能还会有些问题。举个例子:type
      EnrollCallBack = (enroll_info :integer; const  moban_buf : PBYTE; moban_size : integer;  const bitmap_buf : PBYTE;  bitmap_size : integer;  bitmap_num : integer); 
      VerifyCallBack = (verify_info : integer); Function IRIS_initiate(hwnd : HWND ): integer;  standard;  external 'XXX.dll';
    Function IRIS_enroll( pCB : EnrollCallBack ): integer;  standard;  external 'XXX.dll';
    Function IRIS_verify(const  moban : PBYTE ;  moban_size : integer;  pCB : VerifyCallBack ): integer;  standard;  external 'XXX.dll';
    Function IRIS_stop( ): integer;  standard;  external 'XXX.dll';
    procedure IRIS_release( );   standard;  external 'XXX.dll';
    procedure MyEnrollCallBack(enroll_info :integer; const  moban_buf : PBYTE; moban_size : integer;  const bitmap_buf : PBYTE;  bitmap_size : integer;  bitmap_num : integer); 
    begin
    //这里写回调函数的处理代码
    end;......begin
      ......
      IRIS_enroll(MyEnrolCallBack);
      ......
    end;