public async Task <ListBaseResponse <FaceSearchResponse> > Search([FromBody] FaceSearchRequest request) { var data = await _faceService.GetSearchList(request); if (data?.List?.Count > 0) { data.List = await MapCapture(data.List); } return(data); }
/// <summary> /// 获取检索数据 /// </summary> /// <param name="request"></param> /// <returns></returns> private async Task <List <CaptureSearchResponse> > GetSearch(FaceSearchRequest request) { var data = await _faceService.GetSearchList(request); List <CaptureSearchResponse> list = new List <CaptureSearchResponse>(); if (data?.List?.Count > 0) { list = await SearchMapCapture(data.List); } return(list); }
/// <summary> /// Find one or more most similar faces from Faceset, to a new face. You can upload image file or use face_token for face searching. For image upload, the biggest face by the size of bounding box within the image will be used. For face_token, you shall get it by using Detect API. /// </summary> /// <param name="request">Request for search</param> /// <returns>Response of searching</returns> public async Task <FaceSearchResponse> FaceSearchAsync(FaceSearchRequest request) { var searchUrl = $"{_baseUrl}/facepp/{Version}/search"; return(await FaceApiRequest <FaceSearchRequest, FaceSearchResponse>(request, searchUrl)); }
public async Task <ListBaseResponse <CaptureSearchResponse> > GetAllCapture([FromBody] CaptureSearchRequest request) { int page = 1; int size = 500; bool hasNext = true; request.PageNo = page; request.PageSize = size; //如果是 if (string.IsNullOrWhiteSpace(request.FacePicUrl) && string.IsNullOrWhiteSpace(request.FacePicBinaryData)) { var response = new ListBaseResponse <CaptureSearchResponse> { List = new List <CaptureSearchResponse>() }; var searchRequest = new FaceSearchRequest() { AgeGroup = request.AgeGroup, StartTime = request.StartTime, EndTime = request.EndTime, CameraIndexCodes = request.CameraIndexCodes, Sex = request.Sex, WithGlass = request.WithGlass, PageSize = request.PageSize, PageNo = request.PageNo }; //判断是否还有下一页 while (hasNext) { var data = await GetSearch(searchRequest); if (data?.Count > 0) { page++; searchRequest.PageNo = page; var mapList = await MapCapture(data); response.List.AddRange(mapList); } else { hasNext = false; } } return(response); } ListBaseResponse <CaptureSearchResponse> list = new ListBaseResponse <CaptureSearchResponse>(); //判断是否还有下一页 while (hasNext) { var data = await _faceService.GetCaptureList(request); if (data.List?.Count > 0) { page++; request.PageNo = page; var mapList = await MapCapture(data.List); list.List.AddRange(mapList); } else { hasNext = false; } } return(list); }
public async Task <ListBaseResponse <FaceSearchResponse> > Search([FromBody] FaceSearchRequest request) { return(await _faceService.GetSearchList(request)); }