/// <summary> /// 获取年龄信息 /// </summary> /// <returns></returns> public int GetAge() { var faceinfo = DetectFaces(); if (faceinfo.faceOrient == IntPtr.Zero || faceinfo.faceRect == IntPtr.Zero) { return(0); } var processResult = ASFAPI.ASFProcess(hEngine, bitmapImage.Width, bitmapImage.Height, bitmapImage.Format, bitmapImage.ImageData, faceinfo, (int)(EngineMode.年龄识别)); if (processResult != (int)ResultCode.成功) { return(0); } AgeInfo age = new AgeInfo(); var ageResult = ASFAPI.ASFGetAge(hEngine, ref age); if (ageResult != (int)ResultCode.成功) { return(0); } int[] ageArray = new int[age.num]; Marshal.Copy(age.ageArray, ageArray, 0, ageArray.Length); return(ageArray[0]); }
/// <summary> /// 获取年龄信息 /// </summary> /// <returns></returns> public int GetAge() { var faceinfo = DetectFaces(); ASFAPI.ASFProcess(hEngine, bitmapImage.Width, bitmapImage.Height, bitmapImage.Format, bitmapImage.ImageData, faceinfo, (int)(EngineMode.年龄识别)); AgeInfo age = new AgeInfo(); ASFAPI.ASFGetAge(hEngine, ref age); int[] ageArray = new int[age.num]; Marshal.Copy(age.ageArray, ageArray, 0, ageArray.Length); return(ageArray[0]); }
/// <summary> /// 获取性别信息 /// </summary> /// <returns></returns> public string GetGender() { var faceinfo = DetectFaces(); ASFAPI.ASFProcess(hEngine, bitmapImage.Width, bitmapImage.Height, bitmapImage.Format, bitmapImage.ImageData, faceinfo, (int)(EngineMode.性别识别)); GenderInfo gender = new GenderInfo(); ASFAPI.ASFGetGender(hEngine, ref gender); int[] genderArray = new int[gender.num]; Marshal.Copy(gender.genderArray, genderArray, 0, genderArray.Length); switch (genderArray[0]) { case 0: return("男"); case 1: return("女"); default: return("未知"); } }
/// <summary> /// 获取性别信息 /// </summary> /// <returns></returns> public string GetGender() { var faceinfo = DetectFaces(); if (faceinfo.faceOrient == IntPtr.Zero || faceinfo.faceRect == IntPtr.Zero) { return("未知"); } var processResult = ASFAPI.ASFProcess(hEngine, bitmapImage.Width, bitmapImage.Height, bitmapImage.Format, bitmapImage.ImageData, faceinfo, (int)(EngineMode.性别识别)); if (processResult != (int)ResultCode.成功) { return("未知"); } GenderInfo gender = new GenderInfo(); var genderResult = ASFAPI.ASFGetGender(hEngine, ref gender); if (genderResult != (int)ResultCode.成功 || gender.num <= 0) { return("未知"); } int[] genderArray = new int[gender.num]; Marshal.Copy(gender.genderArray, genderArray, 0, genderArray.Length); switch (genderArray[0]) { case 0: return("男"); case 1: return("女"); default: return("未知"); } }