コード例 #1
0
        /// <summary>
        /// 性别检测
        /// </summary>
        /// <param name="pEngine">引擎Handle</param>
        /// <param name="imageInfo">图像数据</param>
        /// <param name="multiFaceInfo">检测的人脸信息</param>
        /// <returns>性别检测结果结构体</returns>
        public static GenderInfo GenderEstimation(FaceEngine faceEngine, Image image, MultiFaceInfo multiFaceInfo, out int retCode)
        {
            retCode = -1;
            GenderInfo genderInfo = new GenderInfo();

            try
            {
                if (multiFaceInfo.faceNum <= 0)
                {
                    return(genderInfo);
                }

                //人脸信息检测
                retCode = faceEngine.ASFProcessEx(image, multiFaceInfo, FaceEngineMask.ASF_GENDER);
                if (retCode == 0)
                {
                    //获取性别信息
                    retCode = faceEngine.ASFGetGender(out genderInfo);
                }
            }
            catch (Exception ex)
            {
                LogUtil.LogInfo(typeof(FaceUtil), ex);
            }
            return(genderInfo);
        }
コード例 #2
0
        /// <summary>
        /// 获取性别结果
        /// </summary>
        /// <param name="pEngine">引擎handle</param>
        /// <param name="genderInfo">out 性别结果</param>
        /// <returns>返回0表示正常;返回负数请根据ErrorCodeUtil类注释查看;其他值请在官网-帮助中心查询</returns>
        public int ASFGetGender(out GenderInfo genderInfo)
        {
            int retCode = -1;

            genderInfo = new GenderInfo();
            IntPtr pGenderInfo = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_GenderInfo>());

            //调用SDK接口
            retCode = ASFFunctions.ASFGetGender(pEngine, pGenderInfo);
            if (retCode != 0)
            {
                MemoryUtil.Free(pGenderInfo);
                return(retCode);
            }
            //转化结果
            ASF_GenderInfo asfGenderInfo = new ASF_GenderInfo();

            asfGenderInfo  = MemoryUtil.PtrToStructure <ASF_GenderInfo>(pGenderInfo);
            genderInfo.num = asfGenderInfo.num;
            if (genderInfo.num > 0)
            {
                genderInfo.genderArray = new int[genderInfo.num];
                Marshal.Copy(asfGenderInfo.genderArray, genderInfo.genderArray, 0, genderInfo.num);
            }
            MemoryUtil.FreeArray(pGenderInfo);
            return(retCode);
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            GenderInfo genderInfo = db.GenderInfoes.Find(id);

            db.GenderInfoes.Remove(genderInfo);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        public async Task TestWithObjectCreation()
        {
            // Arrange
            var fakeObject = new GenderInfo {
                name = "Davide", gender = "male"
            };

            var fakeGenderParser = Substitute.For <IGenderParser>();

            fakeGenderParser.GetGenderInfo(default).ReturnsForAnyArgs(fakeObject);
コード例 #5
0
 public ActionResult Edit([Bind(Include = "GenderID,Gender")] GenderInfo genderInfo)
 {
     if (ModelState.IsValid)
     {
         db.Entry(genderInfo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(genderInfo));
 }
コード例 #6
0
        public ActionResult Create([Bind(Include = "GenderID,Gender")] GenderInfo genderInfo)
        {
            if (ModelState.IsValid)
            {
                db.GenderInfoes.Add(genderInfo);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(genderInfo));
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: Sreenath7/geektrust
        public override string ToString()
        {
            var displayStr = "";

            displayStr += "Name: " + (!string.IsNullOrEmpty(Name) ? Name : "NULL") + "\n";
            displayStr += "Gender: " + GenderInfo.ToString() + "\n";
            displayStr += "Mother Name: " + (!string.IsNullOrEmpty(MotherName) ? MotherName : "NULL") + "\n";
            displayStr += "Father Name: " + (!string.IsNullOrEmpty(FatherName) ? FatherName : "NULL") + "\n";
            displayStr += "Spouse Name: " + (!string.IsNullOrEmpty(SpouseName) ? SpouseName : "NULL") + "\n";
            displayStr += "Children: " + (Children != null && Children.Count > 0 ? string.Join(",", Children) : "NULL") + "\n------------------------------------------------";
            return(displayStr);
        }
コード例 #8
0
        // GET: GenderInfoes/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GenderInfo genderInfo = db.GenderInfoes.Find(id);

            if (genderInfo == null)
            {
                return(HttpNotFound());
            }
            return(View(genderInfo));
        }
コード例 #9
0
ファイル: AdminsDAL.cs プロジェクト: tomislavbakic/mojgrad
        public GenderInfo GenderStats()
        {
            GenderInfo gi = new GenderInfo();

            var users = _context.UserDatas;

            gi.NumberOfFemale = users.Where(x => x.Gender == "ženski").Count();
            gi.NumberOfMale   = users.Where(x => x.Gender == "muški").Count();

            var sum = gi.NumberOfMale + gi.NumberOfFemale;

            gi.PercentOfMale   = (((gi.NumberOfMale * 1.0) / (sum * 1.0)) * 100).ToString($"F{1}");
            gi.PercentOfFemale = (((gi.NumberOfFemale * 1.0) / (sum * 1.0)) * 100).ToString($"F{1}");

            gi.AverageAge = users.Average(x => x.Age).ToString($"F{1}");

            return(gi);
        }
コード例 #10
0
        /// <summary>
        /// Create a base request to generate a reach forecast.
        /// </summary>
        /// <param name="customerId">The customer ID for the reach forecast.</param>
        /// <param name="productMix">The product mix for the reach forecast.</param>
        /// <param name="locationId">Location ID to plan for. To find a valid locaction ID, either
        /// see https://developers.google.com/adwords/api/docs/appendix/geotargeting or call
        /// <see cref="ReachPlanServiceClient.ListPlannableLocations"/>.</param>
        /// <param name="currencyCode">Three-character ISO 4217 currency code.</param>
        public GenerateReachForecastRequest BuildReachRequest(
            string customerId, List <PlannedProduct> productMix, string locationId,
            string currencyCode)
        {
            // Valid durations are between 1 and 90 days.
            CampaignDuration duration = new CampaignDuration()
            {
                DurationInDays = 28
            };

            GenderInfo[] genders = new GenderInfo[]
            {
                new GenderInfo()
                {
                    Type = GenderType.Female
                },
                new GenderInfo()
                {
                    Type = GenderType.Male
                }
            };

            DeviceInfo[] devices = new DeviceInfo[]
            {
                new DeviceInfo()
                {
                    Type = Device.Desktop
                },
                new DeviceInfo()
                {
                    Type = Device.Mobile
                },
                new DeviceInfo()
                {
                    Type = Device.Tablet
                }
            };

            Targeting targeting = new Targeting()
            {
                PlannableLocationId = locationId,
                AgeRange            = ReachPlanAgeRange.AgeRange1865Up,
            };

            targeting.Genders.AddRange(genders);
            targeting.Devices.AddRange(devices);

            // See the docs for defaults and valid ranges:
            // https://developers.google.com/google-ads/api/reference/rpc/Google.Ads.GoogleAds.V3.services#Google.Ads.GoogleAds.V3.services.GenerateReachForecastRequest
            GenerateReachForecastRequest request = new GenerateReachForecastRequest()
            {
                CustomerId            = customerId,
                CurrencyCode          = currencyCode,
                CampaignDuration      = duration,
                Targeting             = targeting,
                MinEffectiveFrequency = 1
            };

            request.PlannedProducts.AddRange(productMix);

            return(request);
        }
コード例 #11
0
        public JsonResult GetGenderInfo()
        {
            GenderInfo genderInfo = new GenderInfo();

            return(Json(genderInfo.GetGenderInfo(), JsonRequestBehavior.AllowGet));
        }
コード例 #12
0
 public GenderAttribute(GenderInfo info)
 {
     GenderInfo = info;
 }