public static bool IsLineDrawing(this Microsoft.ProjectOxford.Vision.Contract.AnalysisResult analysisResult) { // LineDrawingType // -Non-LineDrawing = 0, // -LineDrawing = 1. return(analysisResult.ImageType.LineDrawingType != 0); }
public static bool IsClipArt(this Microsoft.ProjectOxford.Vision.Contract.AnalysisResult analysisResult) { // ClipartType // -Non-clipart = 0, // -ambiguous = 1, // -normal-clipart = 2, // -good-clipart = 3 return(analysisResult.ImageType.ClipArtType != 0); }
private async Task <VisionAPI.AnalysisResult> DescribeImage(Uri fileToProcess) { VisionAPI.AnalysisResult analysisResult = null; try { var visionClient = new VisionServiceClient(Environment.GetEnvironmentVariable("CognitiveVisionAPIKey"), Environment.GetEnvironmentVariable("CognitiveVisionAPILocation")); var features = new VisualFeature[] { VisualFeature.Description }; WebClient webClient = new WebClient(); using (var fs = webClient.OpenRead(fileToProcess.AbsoluteUri)) { analysisResult = await visionClient.AnalyzeImageAsync(fs, features); } } catch (ClientException ex) { throw new Exception(ex.Message); } return(analysisResult); }
/// <summary> /// コンストラクタ /// </summary> /// <param name="sourceUrl">画像URL</param> /// <param name="source">Vision API 解析結果</param> public ImageProperty(string sourceUrl, AnalysisResult source = null) { this.AnalysisData = source; this.MediaUrl = sourceUrl; }
/// <summary> /// Show Analysis Result /// </summary> /// <param name="result">Analysis Result</param> private void ShowAnalysisResult(AnalysisResult result) { Console.ForegroundColor = ConsoleColor.Green; if (result == null) { Console.WriteLine("null"); return; } if (result.Metadata != null) { Console.WriteLine("Image Format : " + result.Metadata.Format); Console.WriteLine("Image Dimensions : " + result.Metadata.Width + " x " + result.Metadata.Height); } if (result.ImageType != null) { string clipArtType; switch (result.ImageType.ClipArtType) { case 0: clipArtType = "0 Non-clipart"; break; case 1: clipArtType = "1 ambiguous"; break; case 2: clipArtType = "2 normal-clipart"; break; case 3: clipArtType = "3 good-clipart"; break; default: clipArtType = "Unknown"; break; } Console.WriteLine("Clip Art Type : " + clipArtType); string lineDrawingType; switch (result.ImageType.LineDrawingType) { case 0: lineDrawingType = "0 Non-LineDrawing"; break; case 1: lineDrawingType = "1 LineDrawing"; break; default: lineDrawingType = "Unknown"; break; } Console.WriteLine("Line Drawing Type : " + lineDrawingType); } if (result.Adult != null) { Console.WriteLine("Is Adult Content : " + result.Adult.IsAdultContent); Console.WriteLine("Adult Score : " + result.Adult.AdultScore); Console.WriteLine("Is Racy Content : " + result.Adult.IsRacyContent); Console.WriteLine("Racy Score : " + result.Adult.RacyScore); } if (result.Categories != null && result.Categories.Length > 0) { Console.WriteLine("Categories : "); foreach (var category in result.Categories) { Console.Write(" Name : " + category.Name); Console.WriteLine("; Score : " + category.Score); } } if (result.Faces != null && result.Faces.Length > 0) { Console.WriteLine("Faces : "); foreach (var face in result.Faces) { Console.Write(" Age : " + face.Age); Console.Write("; Gender : " + face.Gender); } } if (result.Color != null) { Console.WriteLine("AccentColor : " + result.Color.AccentColor); Console.WriteLine("Dominant Color Background : " + result.Color.DominantColorBackground); Console.WriteLine("Dominant Color Foreground : " + result.Color.DominantColorForeground); if (result.Color.DominantColors != null && result.Color.DominantColors.Length > 0) { Console.Write("Dominant Colors : "); foreach (var color in result.Color.DominantColors) { Console.Write(color + " "); } } } Console.ResetColor(); }
/// <summary> /// Show Analysis Result /// </summary> /// <param name="result">Analysis Result</param> protected void LogAnalysisResult(AnalysisResult result) { if (result == null) { Log("null"); return; } if (result.Metadata != null) { Log("Image Format : " + result.Metadata.Format); Log("Image Dimensions : " + result.Metadata.Width + " x " + result.Metadata.Height); } if (result.ImageType != null) { string clipArtType; switch (result.ImageType.ClipArtType) { case 0: clipArtType = "0 Non-clipart"; break; case 1: clipArtType = "1 ambiguous"; break; case 2: clipArtType = "2 normal-clipart"; break; case 3: clipArtType = "3 good-clipart"; break; default: clipArtType = "Unknown"; break; } Log("Clip Art Type : " + clipArtType); string lineDrawingType; switch (result.ImageType.LineDrawingType) { case 0: lineDrawingType = "0 Non-LineDrawing"; break; case 1: lineDrawingType = "1 LineDrawing"; break; default: lineDrawingType = "Unknown"; break; } Log("Line Drawing Type : " + lineDrawingType); } if (result.Adult != null) { Log("Is Adult Content : " + result.Adult.IsAdultContent); Log("Adult Score : " + result.Adult.AdultScore); Log("Is Racy Content : " + result.Adult.IsRacyContent); Log("Racy Score : " + result.Adult.RacyScore); } if (result.Categories != null && result.Categories.Length > 0) { Log("Categories : "); foreach (var category in result.Categories) { Log(" Name : " + category.Name + "; Score : " + category.Score); } } if (result.Faces != null && result.Faces.Length > 0) { Log("Faces : "); foreach (var face in result.Faces) { Log(" Age : " + face.Age + "; Gender : " + face.Gender); } } if (result.Color != null) { Log("AccentColor : " + result.Color.AccentColor); Log("Dominant Color Background : " + result.Color.DominantColorBackground); Log("Dominant Color Foreground : " + result.Color.DominantColorForeground); if (result.Color.DominantColors != null && result.Color.DominantColors.Length > 0) { string colors = "Dominant Colors : "; foreach (var color in result.Color.DominantColors) { colors += color + " "; } Log(colors); } } if (result.Description != null) { Log("Description : "); foreach (var caption in result.Description.Captions) { Log(" Caption : " + caption.Text + "; Confidence : " + caption.Confidence); } string tags = " Tags : "; foreach (var tag in result.Description.Tags) { tags += tag + ", "; } Log(tags); } if (result.Tags != null) { Log("Tags : "); foreach (var tag in result.Tags) { Log(" Name : " + tag.Name + "; Confidence : " + tag.Confidence + "; Hint : " + tag.Hint); } } }
public static bool IsBlackAndWhite(this Microsoft.ProjectOxford.Vision.Contract.AnalysisResult analysisResult) { return(analysisResult.Color.IsBWImg); }