示例#1
0
        /// <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]);
        }
示例#2
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]);
        }
示例#3
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("未知");
            }
        }
示例#4
0
        /// <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("未知");
            }
        }