SeeTaFace人脸识别动态库之delphi接口

{https://github.com/seetaface/SeetaFaceEngine}

unit STFintf;

interface

const
  DetectDLL = 'seeta_fd_lib.dll';
  AlignDLL = 'seeta_fa_lib.dll';
  IdentifyDLL = 'seeta_fi_lib.dll';

type
  PSTF_Image = ^STF_Image;

  STF_Image = record
    data: PByte;
    width: Integer;
    height: Integer;
    channels: Integer;
  end;

  PSTF_Face = ^STF_Face;

  STF_Face = record
    left: Integer;
    top: Integer;
    right: Integer;
    bottom: Integer;
    score: double;
    next: PSTF_Face;
  end;

  PLandMarks = ^LandMarks;

  LandMarks = record
    x: array[0..4] of Integer;
    y: array[0..4] of Integer;
  end;

{SeeTaFaceDetect}

function get_face_detector(modelPath: PAnsiChar): Pointer; cdecl; external DetectDLL;

procedure set_min_face_size(detector: Pointer; MinSize: integer); cdecl; external DetectDLL;

procedure set_score_thresh(detector: Pointer; ScoreThresh: Single); cdecl; external DetectDLL;

procedure set_image_pyramid_scale_factor(detector: Pointer; scale: Single); cdecl; external DetectDLL;

procedure set_window_step(detector: Pointer; xStep: integer; yStep: Integer); cdecl; external DetectDLL;

procedure free_detector(detector: Pointer); cdecl; external DetectDLL;

procedure free_face_list(root: PSTF_Face); cdecl; external DetectDLL;

function detect(detector: Pointer; img: PSTF_Image): PSTF_Face; cdecl; external DetectDLL;

{SeeTaFaceAlignMent}

function get_face_aligner(modelPath: PAnsiChar): Pointer; cdecl; external AlignDLL;

function STFalign(aligner: Pointer; img: PSTF_Image; faceRect: PSTF_Face): PLandMarks; cdecl; external AlignDLL name 'align';

procedure free_landmarks(root: PLandMarks); cdecl; external AlignDLL;

procedure free_aligner(detector: Pointer); cdecl; external AlignDLL;

{SeeTaFaceIdentification}
function get_face_identifier(ModelPath: PAnsiChar): Pointer; cdecl; external IdentifyDLL;

function crop_face(identifier: Pointer; img: PSTF_Image; marks: PLandMarks): PSTF_Image; cdecl; external IdentifyDLL;

function extract_feature(identifier: Pointer; img: PSTF_Image): PSingle; cdecl; external IdentifyDLL;

function extract_feature_with_crop(identifier: Pointer; img: PSTF_Image; marks: PLandMarks): PSingle; cdecl; external IdentifyDLL;

function calc_similarity(identifier: Pointer; featA: PSingle; featB: PSingle): Single; cdecl; external IdentifyDLL;

procedure free_image_data(img: PSTF_Image); cdecl; external IdentifyDLL;

procedure free_feature(featX: PSingle); cdecl; external IdentifyDLL;

procedure free_identifier(identifier: Pointer); cdecl; external IdentifyDLL;

//function calc_similarityX(featA: PSingle; featB: PSingle): Single; cdecl; external IdentifyDLL;

implementation

end.
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值