Пример #1
0
        public static void Run([QueueTrigger("ocr", Connection = "StorageConnection")] string myQueueItem, [Table("ocr", Connection = "StorageConnection")] ICollector <Ocr> tableBinding, TraceWriter log)
        {
            log.Info($"C# Queue trigger function processed: {myQueueItem}");
            var    jsontext  = myQueueItem;
            string ocrResult = "";

            Microsoft.ProjectOxford.Vision.Contract.OcrResults o = JsonConvert.DeserializeObject <Microsoft.ProjectOxford.Vision.Contract.OcrResults>(jsontext);
            foreach (var a in o.Regions)
            {
                foreach (var line in a.Lines)
                {
                    foreach (var word in line.Words)
                    {
                        log.Info(word.Text);
                        ocrResult = ocrResult + word.Text + " ";
                    }
                }
            }

            Guid guid = Guid.NewGuid();

            tableBinding.Add(new Ocr()
            {
                PartitionKey = guid.ToString(),
                RowKey       = "1",
                OcrResult    = ocrResult
            });


            log.Info(ocrResult);
        }
        public static int?ExtractYear(Microsoft.ProjectOxford.Vision.Contract.OcrResults textAnalysisResults)
        {
            System.Collections.Generic.List <string> words = new System.Collections.Generic.List <string>();

            foreach (Microsoft.ProjectOxford.Vision.Contract.Region region in textAnalysisResults.Regions)
            {
                foreach (Microsoft.ProjectOxford.Vision.Contract.Line line in region.Lines)
                {
                    foreach (Microsoft.ProjectOxford.Vision.Contract.Word word in line.Words)
                    {
                        words.Append(word.Text);
                    }
                }
            }

            return(ExtractYear(words));
        }
        private string ProcessImageOcrResult(IDialogContext context, Microsoft.ProjectOxford.Vision.Contract.OcrResults ocrResult)
        {
            var result = string.Empty;

            // 偷懶,發票號碼格式是:AA-12345678
            // 因此找出第3個字母是-的就算是發票號碼
            var foundErrorCode = ocrResult.Regions.SelectMany(x => x.Lines)
                                 .SelectMany(x => x.Words)
                                 .FirstOrDefault(x => x.Text.Length > 3 &&
                                                 x.Text.Substring(2, 1) == "-");

            if (foundErrorCode != null)
            {
                result = foundErrorCode.Text;
            }

            return(result);
        }
 public static string LookUp(Microsoft.ProjectOxford.Vision.Contract.OcrResults ocrResults)
 {
     return(LookUp(ocrResults.Language));
 }