/// <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); }
/// <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); }
public ActionResult DeleteConfirmed(int id) { GenderInfo genderInfo = db.GenderInfoes.Find(id); db.GenderInfoes.Remove(genderInfo); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task TestWithObjectCreation() { // Arrange var fakeObject = new GenderInfo { name = "Davide", gender = "male" }; var fakeGenderParser = Substitute.For <IGenderParser>(); fakeGenderParser.GetGenderInfo(default).ReturnsForAnyArgs(fakeObject);
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)); }
public ActionResult Create([Bind(Include = "GenderID,Gender")] GenderInfo genderInfo) { if (ModelState.IsValid) { db.GenderInfoes.Add(genderInfo); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(genderInfo)); }
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); }
// 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)); }
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); }
/// <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); }
public JsonResult GetGenderInfo() { GenderInfo genderInfo = new GenderInfo(); return(Json(genderInfo.GetGenderInfo(), JsonRequestBehavior.AllowGet)); }
public GenderAttribute(GenderInfo info) { GenderInfo = info; }