/// <summary>
        /// 人脸特征提取
        /// </summary>
        /// <param name="image">人脸图像</param>
        /// <param name="faceRes">人脸信息检测结果</param>
        /// <returns>接口返回码,返回0表示正常,返回其他值请在开发者中心-帮助中心查询</returns>
        public int ArcSoft_FIC_FaceDataFeatureExtraction(Image image, ref FaceRes faceRes)
        {
            faceRes = new FaceRes();
            IntPtr        pFaceRes       = MemoryUtil.Malloc(MemoryUtil.SizeOf <AFICFSDKFACERES>());
            ASVLOFFSCREEN imagetemp      = ImageUtil.ReadBmp(image, false);
            IntPtr        pInputFaceData = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASVLOFFSCREEN>());

            MemoryUtil.StructToPtr(imagetemp, pInputFaceData);
            //调用SDK的人脸特征提取接口
            int retCode = FICFunctions.ArcSoft_FIC_FaceDataFeatureExtraction(pEngine, mode, pInputFaceData, pFaceRes);

            if (!retCode.Equals(0))
            {
                MemoryUtil.Free(pFaceRes);
                MemoryUtil.Free(pInputFaceData);
                MemoryUtil.Free(imagetemp.ppu8Plane[0]);
                return(retCode);
            }
            AFICFSDKFACERES faceResStruct = MemoryUtil.PtrToStruct <AFICFSDKFACERES>(pFaceRes);

            faceRes.nFace  = faceResStruct.nFace;
            faceRes.rcFace = faceResStruct.rcFace;
            MemoryUtil.Free(pFaceRes);
            MemoryUtil.Free(pInputFaceData);
            MemoryUtil.Free(imagetemp.ppu8Plane[0]);
            return(retCode);
        }
        /// <summary>
        /// 人脸信息(IR活体)检测
        /// </summary>
        /// <param name="bitmap">人脸图像</param>
        /// <param name="faceRes">人脸信息</param>
        /// <param name="combinedMask">检测属性,默认IR活体检测</param>
        /// <returns>接口返回码,返回0表示正常,返回其他值请在开发者中心-帮助中心查询</returns>
        public int ArcSoft_FIC_Process_IR(Bitmap bitmap, FaceRes faceRes, int combinedMask = EngineMask.AFIC_LIVENESS_IR)
        {
            int             retCode    = -1;
            ASVLOFFSCREEN   imageinfo  = ImageUtil.ReadBmpIR(bitmap);
            AFICFSDKFACERES sFacerects = new AFICFSDKFACERES();

            sFacerects.nFace  = faceRes.nFace;
            sFacerects.rcFace = faceRes.rcFace;
            IntPtr pImageInfo = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASVLOFFSCREEN>());

            MemoryUtil.StructToPtr(imageinfo, pImageInfo);
            IntPtr pFacerects = MemoryUtil.Malloc(MemoryUtil.SizeOf <AFICFSDKFACERES>());

            MemoryUtil.StructToPtr(sFacerects, pFacerects);
            //调用SDK
            retCode = FICFunctions.ArcSoft_FIC_Process_IR(pEngine, pImageInfo, pFacerects, combinedMask);
            MemoryUtil.Free(imageinfo.ppu8Plane[0]);
            MemoryUtil.Free(pImageInfo);
            MemoryUtil.Free(pFacerects);
            return(retCode);
        }