虹软人脸识别3.0 - 图像数据结构介绍(C++)

本文介绍了虹软ArcFace 3.0 SDK在Windows平台的更新,包括SDK接口变动、图像数据结构(步长概念、虹软及OpenCV图像结构)及其转换方法。重点讨论了步长在图像处理中的重要性,以及如何将OpenCV的图像数据转换为虹软SDK所需的格式。
摘要由CSDN通过智能技术生成

从虹软开放了2.0版本SDK以来,由于具有免费、离线使用的特点,我们公司在人脸识别门禁应用中使用了虹软SDK,识别效果还不错,因此比较关注虹软SDK的官方动态。近期上线了ArcFace 3.0 SDK版本,确实做了比较大的更新。上一篇主要介绍了关于Android平台算法的改进,本篇将介绍一下关于Windows平台算法的更新。

  • 特征比对支持比对模型选择,有生活照比对模型人证比对模型
  • 识别率、防攻击效果显著提升
  • 特征值更新,升级后人脸库需重新注册
  • 人脸检测同时支持全角度及单一角度
  • 新增了一种图像数据传入方式

在V3.0版本接入过程中,发现使用新的图像数据结构还是具有一定难度的,本文将从以下几点对该图像数据结构及使用方式进行介绍

  1. SDK接口变动
  2. 图像数据结构
  3. 步长的作用
  4. OpenCV图像数据结构转换为虹软图像数据结构

一、SDK 接口变动

在接入ArcFace 3.0 SDK时,发现新增了ASFDetectFacesEx、ASFFaceFeatureExtractEx、ASFProcessEx、ASFProcessEx_IR一组接口,该组接口使用LPASF_ImageData结构体指针的方式传入图像数据,以人脸检测接口为例,具体接口比对如下:

原始接口:


MRESULT ASFDetectFaces(

        MHandle             hEngine,                            //
[in] 引擎handle

        MInt32              width,                              //
[in] 图片宽度

        MInt32              height,                             //
[in] 图片高度

        MInt32              format,                             //
[in] 颜色空间格式

        MUInt8*             imgData,                            //
[in] 图片数据

        LPASF_MultiFaceInfo detectedFaces,                      //
[out]检测到的人脸信息 

        ASF_DetectModel     detectModel = ASF_DETECT_MODEL_RGB  // [in] 预留字段,当前版本使用默认参数即可

        );

新增接口:


MRESULT ASFDetectFacesEx(

        MHandle             hEngine,                            //
[in] 引擎handle

        LPASF_ImageData     imgData,                            //
[in] 图片数据

        LPASF_MultiFaceInfo detectedFaces,                      //
[out] 检测到的人脸信息

        ASF_DetectModel     detectModel = ASF_DETECT_MODEL_RGB  // [in] 预留字段,当前版本使用默认参数即可

        );

相对于原始接口,新增接口通过传入LPASF_ImageData图像数据结构指针替代原始接口传入图像数据的方式。

二、图像数据结构

新增的图像数据结构引入了步长pi32Pitch的概念。

步长定义:图像对齐后一行的字节数。

2.1 虹软图像数据结构

图像结构定义:


typedef LPASVLOFFSCREEN LPASF_ImageData;

 

typedef struct __tag_ASVL_OFFSCREEN

{

    MUInt32 u32PixelArrayFormat;

    MInt32  i32Width;

    MInt32  i32Height;

    MUInt8* ppu8Plane[4];

    MInt32  pi32Pitch[4];

}ASVLOFFSCREEN, *LPASVLOFFSCREEN;

虹软官方文档中对该图像数据结构的介绍:

类型 变量名 描述
MUInt32 u32PixelArrayFormat 颜色格式
MI
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值