Exemple #1
0
        public static async Task IdentifyGear(byte[] image, TraceWriter log)
        {
            using (Stream stream = new MemoryStream(image))
            {
                var analysisResult = await _visionClient.GetTagsAsync(stream);

                var tags = analysisResult.Tags.ToList();
                if (tags.Any(t => t.Name == "hat") || tags.Any(t => t.Name == "helmet") ||
                    tags.Any(t => t.Name == "headdress"))
                {
                    log.Info("Safety Hat = CHECK");
                    data.hat = true;
                }

                if (tags.Any(t => t.Name == "orange") || tags.Any(t => t.Name == "yellow"))
                {
                    log.Info("Safety Vest = CHECK");
                    data.vest = true;
                }

                if (!data.IsSafe())
                {
                    throw new NoGearException();
                }
            }
        }
Exemple #2
0
        private async Task <AnalysisResult> UploadAndGetTagsForImage(string imageFilePath)
        {
            using (Stream imageFileStream = File.OpenRead(imageFilePath)) {
                AnalysisResult analysisResult = await _visionServiceClient.GetTagsAsync(imageFileStream);

                return(analysisResult);
            }
        }
Exemple #3
0
        public async Task <bool> IsGoat(string imageUri)
        {
            var analysisResult = await _visionServiceClient.GetTagsAsync(imageUri);

            return(analysisResult.Tags.Any(tag => tag.Name.Equals("goat", StringComparison.InvariantCultureIgnoreCase)));
        }