Ejemplo n.º 1
0
        // Extract Text Line by Lines
        private string ExtractTextByRegions(OCRText ocrOutput)
        {
            string resultText = String.Empty;

            foreach (Region ereg in ocrOutput.Regions)
            {
                resultText += string.Join("\n", from WLine sline in ereg.Lines
                                          from Word sword in sline.Words
                                          select(string) sword.Text);
            }

            return(resultText);
        }
Ejemplo n.º 2
0
        // Extract Text & Text Regions
        private void ExtractTextAndRegionsFromResponse()
        {
            var     response  = JObject.Parse(OCRResponse);
            OCRText ocrOutput = JsonConvert.DeserializeObject <OCRText>(OCRResponse);

            foreach (Region ereg in ocrOutput.Regions)
            {
                // Draw rectangles for the regions
                CreateRectangle("region", ereg.BoundingBox, _regionColor);
                foreach (WLine sline in ereg.Lines)
                {
                    // Draw rectangles for the lines
                    CreateRectangle("line", sline.BoundingBox, _lineColor);
                    foreach (Word sword in sline.Words)
                    {
                        // Draw rectangles for the words
                        CreateImageLabelsAndRectangle(sword.BoundingBox, sword.Text);
                    }
                }
            }

            // Visibility check for the bounding box layers
            if (regionVis)
            {
                canvasRegions.Visibility = Visibility.Visible;
            }
            if (lineVis)
            {
                canvasLines.Visibility = Visibility.Visible;
            }
            if (wordVis)
            {
                canvasWords.Visibility = Visibility.Visible;
            }
            if (textVis)
            {
                canvasText.Visibility = Visibility.Visible;
            }

            // Visibility check for text output
            stckOutput.Visibility = Visibility.Visible;
            txtOcrOutput.Text     = ExtractTextByRegions(ocrOutput);

            //Search key-value pairs if keys are defined in Settings.
            if (!string.IsNullOrEmpty(searchKeys))
            {
                ExtractKeyValuePairs(ocrOutput.Regions);
            }
        }