Пример #1
0
        public static bool ValidateImage(string base64)
        {
            string            url         = String.Format("https://vision.googleapis.com/v1/images:annotate?key=AIzaSyDXDoLooB6HezLF8dV3kD9kg5xUTJLiaAM");
            string            response    = CallVisionAPI(url, base64);
            VisionAPIResponse apiResponse = DeserializeResponse(response);

            // Check if a response exists
            Response responseCheck = apiResponse.responses.SingleOrDefault();

            if (responseCheck == null)
            {
                return(false);
            }

            // Check if there are any faces or more than one
            Faceannotation[] responseFaces = responseCheck.faceAnnotations;

            if (responseFaces.Count() > 1 || responseFaces.Count() == 0)
            {
                return(false);
            }

            // Check if description, passport and score
            List <Webentity> entities = responseCheck.webDetection.webEntities
                                        .Where(i => i.description != null &&
                                               i.description.ToLower().Contains("passport") &&
                                               i.score > 0.5)
                                        .ToList();

            //TODO: Blend checking logic with new logic
            // Check if the entities list is greater than 0
            return(entities.Count > 0 ? true : false);
        }
Пример #2
0
        static VisionAPIResponse DeserializeResponse(string response)
        {
            VisionAPIResponse apiResponse = JsonConvert.DeserializeObject <VisionAPIResponse>(response);

            return(apiResponse);
        }