Example #1
0
        public static async Task Main()
        {
            var config1 = new RecognitionConfiguration(@"C:\Users\Hubert\source\repos\HardyBits.Ocr\src\Samples\HardyBits.Ocr.Samples.Console\Samples\sample_photo_1_side.jpg");
            var config2 = new RecognitionConfiguration(@"C:\Users\Hubert\source\repos\HardyBits.Ocr\src\Samples\HardyBits.Ocr.Samples.Console\Samples\sample_photo_2_side.jpg");

            using var engine = new ImageRecognitionEngine();
            var task1 = engine.RecognizeAsync(config1, runParallel: true);
            var task2 = engine.RecognizeAsync(config2, runParallel: true);

            var results = await Task.WhenAll(task1, task2);

            var result = results.SelectMany(x => x);

            foreach (var page in result)
            {
                System.Console.WriteLine(page.Text);
            }

            System.Console.WriteLine("Finished!");
            System.Console.ReadLine();
        }
Example #2
0
        public static async Task Main()
        {
            var config1 = new RecognitionConfigurationBuilder()
                          .ConfigureEngine(x => x.TessData, $@"{Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location)}\tessdata")
                          .ConfigureEngine(x => x.EngineMode, 3)
                          .ConfigureEngine(x => x.Language, "eng")
                          .ConfigureFilePath(@"Samples\sample_photo_1_side.jpg")
                          .AddPreprocessor <HeavyLiftPreprocessor>(x => x.SetParameters(new
            {
                ReductionFactor = DeskewReductionFactor.Default,
                MinUpConfidence = 4f,
                MinRatio        = 2.5f,
                MinDistance     = 50,
                EraseDistance   = 70
            }))
                          .Build();

            var config2 = new RecognitionConfigurationBuilder()
                          .ConfigureFrom(config1)
                          .ConfigureFilePath(@"Samples\sample_scanned.tif")
                          .Build();

            using var engine = new ImageRecognitionEngine();
            var task1 = engine.RecognizeAsync(config1, runParallel: true);
            var task2 = engine.RecognizeAsync(config2, runParallel: true);

            var results = await Task.WhenAll(task1, task2);

            foreach (var page in results.SelectMany(x => x))
            {
                System.Console.WriteLine(page.Text);
            }

            System.Console.WriteLine("Finished!");
            System.Console.ReadLine();
        }