Beispiel #1
0
        public async Task TestFullPipeline()
        {
            var visionApiKey = System.Environment.GetEnvironmentVariable("VISION_API_KEY");

            Assert.IsFalse(string.IsNullOrWhiteSpace(visionApiKey), "Must provide API Key");
            var luisApp = System.Environment.GetEnvironmentVariable("LUIS_APP_ID");

            Assert.IsFalse(string.IsNullOrWhiteSpace(luisApp), "Must provide app ID");
            var luisApiKey = System.Environment.GetEnvironmentVariable("LUIS_API_KEY");

            Assert.IsFalse(string.IsNullOrWhiteSpace(luisApiKey), "Must provide API Key");

            var mordorImage = "http://i.imgur.com/5ocZvsW.jpg";
            var imageToText = new ImageToText(visionApiKey);
            var result      = await imageToText.ProcessImageToTextAsync(await ImageUtilities.SingleChannelAsync(new Uri(mordorImage), ImageUtilities.Channel.Blue));

            var lines = ImageToText.ExtractLinesFromResponse(result).ToList();

            lines.RemoveAt(lines.Count - 1); // Remove memegenerator.net line.
            var text = string.Join(" ", lines);

            var luis       = new TextToEntitiesAndIntent(luisApp, luisApiKey);
            var luisResult = await luis.DetectEntitiesAndIntentFromText(text);

            Trace.TraceInformation(luisResult.ToString(Newtonsoft.Json.Formatting.Indented));
            Assert.IsNotNull(luisResult);
        }
Beispiel #2
0
        public async Task TestOCRFromMordor()
        {
            var apiKey = System.Environment.GetEnvironmentVariable("VISION_API_KEY");

            Assert.IsFalse(string.IsNullOrWhiteSpace(apiKey), "Must provide API Key");

            var imageToText = new ImageToText(apiKey);
            var mordorImage = "http://i.imgur.com/5ocZvsW.jpg";
            var mordorTxt   = new[] { "ONE DOES NOT", "SIMPLY", "OCR SOME TEXT FROM AN", "IMAGE" };
            var result      = await imageToText.ProcessImageToTextAsync(await ImageUtilities.SingleChannelAsync(new Uri(mordorImage), ImageUtilities.Channel.Blue));

            var lines = ImageToText.ExtractLinesFromResponse(result).ToList();

            lines.RemoveAt(lines.Count - 1); // Remove memegenerator.net line
            CollectionAssert.AreEqual(mordorTxt, lines, "[{0}] != [{1}]", string.Join(",", mordorTxt), string.Join(",", lines));
        }
Beispiel #3
0
        public async Task TestOCRFromMorpheus()
        {
            var apiKey = System.Environment.GetEnvironmentVariable("VISION_API_KEY");

            Assert.IsFalse(string.IsNullOrWhiteSpace(apiKey), "Must provide API Key");

            var imageToText   = new ImageToText(apiKey);
            var morpheusImage = "http://i.imgur.com/1wL61Ro.jpg";
            var morpheusText  = new[] { "WHAT IF I TOLD", "YOU", "IT WAS STARING YOU RIGHT IN", "THE FACE?" };
            var result        = await imageToText.ProcessImageToTextAsync(await ImageUtilities.GammaAsync(new Uri(morpheusImage), 2.5));

            var lines = ImageToText.ExtractLinesFromResponse(result).ToList();

            Assert.IsTrue(lines.Any());
            lines.RemoveAt(lines.Count - 1); // Remove memegenerator.net line
            CollectionAssert.AreEqual(morpheusText, lines, "[{0}] != [{1}]", string.Join(",", morpheusText), string.Join(",", lines));
        }
        public async Task TestFullPipeline()
        {
            var visionApiKey = System.Environment.GetEnvironmentVariable("VISION_API_KEY");
            Assert.IsFalse(string.IsNullOrWhiteSpace(visionApiKey), "Must provide API Key");
            var luisApp = System.Environment.GetEnvironmentVariable("LUIS_APP_ID");
            Assert.IsFalse(string.IsNullOrWhiteSpace(luisApp), "Must provide app ID");
            var luisApiKey = System.Environment.GetEnvironmentVariable("LUIS_API_KEY");
            Assert.IsFalse(string.IsNullOrWhiteSpace(luisApiKey), "Must provide API Key");

            var mordorImage = "http://i.imgur.com/5ocZvsW.jpg";
            var imageToText = new ImageToText(visionApiKey);
            var result = await imageToText.ProcessImageToTextAsync(await ImageUtilities.SingleChannelAsync(new Uri(mordorImage), ImageUtilities.Channel.Blue));
            var lines = ImageToText.ExtractLinesFromResponse(result).ToList();
            lines.RemoveAt(lines.Count - 1); // Remove memegenerator.net line.
            var text = string.Join(" ", lines);

            var luis = new TextToEntitiesAndIntent(luisApp, luisApiKey);
            var luisResult = await luis.DetectEntitiesAndIntentFromText(text);
            Trace.TraceInformation(luisResult.ToString(Newtonsoft.Json.Formatting.Indented));
            Assert.IsNotNull(luisResult);
        }
        public async Task TestOCRFromMorpheus()
        {
            var apiKey = System.Environment.GetEnvironmentVariable("VISION_API_KEY");
            Assert.IsFalse(string.IsNullOrWhiteSpace(apiKey), "Must provide API Key");

            var imageToText = new ImageToText(apiKey);
            var morpheusImage = "http://i.imgur.com/1wL61Ro.jpg";
            var morpheusText = new[] { "WHAT IF I TOLD", "YOU", "IT WAS STARING YOU RIGHT IN", "THE FACE?" };
            var result = await imageToText.ProcessImageToTextAsync(await ImageUtilities.GammaAsync(new Uri(morpheusImage), 2.5));
            var lines = ImageToText.ExtractLinesFromResponse(result).ToList();
            Assert.IsTrue(lines.Any());
            lines.RemoveAt(lines.Count - 1); // Remove memegenerator.net line
            CollectionAssert.AreEqual(morpheusText, lines, "[{0}] != [{1}]", string.Join(",", morpheusText), string.Join(",", lines));
        }
        public async Task TestOCRFromMordor()
        {
            var apiKey = System.Environment.GetEnvironmentVariable("VISION_API_KEY");
            Assert.IsFalse(string.IsNullOrWhiteSpace(apiKey), "Must provide API Key");

            var imageToText = new ImageToText(apiKey);
            var mordorImage = "http://i.imgur.com/5ocZvsW.jpg";
            var mordorTxt = new[] { "ONE DOES NOT", "SIMPLY", "OCR SOME TEXT FROM AN", "IMAGE" };
            var result = await imageToText.ProcessImageToTextAsync(await ImageUtilities.SingleChannelAsync(new Uri(mordorImage), ImageUtilities.Channel.Blue));
            var lines = ImageToText.ExtractLinesFromResponse(result).ToList();
            lines.RemoveAt(lines.Count - 1); // Remove memegenerator.net line
            CollectionAssert.AreEqual(mordorTxt, lines, "[{0}] != [{1}]", string.Join(",", mordorTxt), string.Join(",", lines));
        }