Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
        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);
        }
Пример #5
0
 public async Task <ListBaseResponse <FaceSearchResponse> > Search([FromBody] FaceSearchRequest request)
 {
     return(await _faceService.GetSearchList(request));
 }