Example #1
0
        private string ExtractBestTextCandidate(IImage bitmap, ITextualDataFilter filter, Symbology symbology)
        {
            var page = Engine.Recognize(bitmap, RecognitionConfiguration.FromSingleImage(bitmap, filter, symbology));
            var zone = page.RecognizedZones.First();

            return(zone.RecognitionResult.Text);
        }
Example #2
0
        public string Extract(IImage bitmap, ITextualDataFilter filter, Symbology symbology)
        {
            var sut = GetSut();
            var recognizedPage = sut.Recognize(bitmap, RecognitionConfiguration.FromSingleImage(bitmap, filter, symbology));

            var uniqueZone = recognizedPage.RecognizedZones.First();
            return uniqueZone.RecognitionResult.Text;
        }
Example #3
0
        public void EmptyBitmapGivesEmptyResult()
        {
            var sut = GetSut();
            var numericStringFilter = new NumericStringFilter {
                MinLength = 6, MaxLength = 6
            };
            var bmp            = GetEmptyBitmap();
            var recognizedPage = sut.Recognize(bmp, RecognitionConfiguration.FromSingleImage(bmp, numericStringFilter, Symbology.Barcode));

            var recognitionResult = recognizedPage.RecognizedZones.First().RecognitionResult;

            Assert.Null(recognitionResult.Text);
        }
        public void MemoryTest()
        {
            var sut                 = GetSut();
            var bitmapSource        = LoadImage($"Images\\Barcodes\\Numeric\\802492.jpg");
            var numericStringFilter = new NumericStringFilter {
                MinLength = 6, MaxLength = 6
            };
            var recognizedPage = sut.Recognize(
                bitmapSource,
                RecognitionConfiguration.FromSingleImage(bitmapSource, numericStringFilter, Symbology.Text));


            dotMemory.Check(
                memory =>
            {
                Assert.Equal(0, memory.GetObjects(where => where.Type.Is <OcrPage>()).ObjectsCount);
                Assert.Equal(0, memory.GetObjects(where => where.Type.Is <RasterImage>()).ObjectsCount);
            });
        }
        private IEnumerable<RecognizedZone> GetRecognizedZones(BitmapSource bitmap, RecognitionConfiguration configuration)
        {
            foreach (var zoneConfiguration in configuration.Zones)
            {
                var applicableEngines = engines.Where(e => IsValidTarget(zoneConfiguration, e)).ToList();

                var zoneBitmap = ImagingContext.BitmapOperations.Crop(bitmap, zoneConfiguration.Bounds);
                zoneBitmap.Freeze();

                if (applicableEngines.Any())
                {
                    var resultsFromAllEngines = from engine in applicableEngines
                        select engine.Recognize(zoneBitmap, zoneConfiguration);

                    var flatResults = resultsFromAllEngines.SelectMany(t => t);

                    var result = OpticalResultSelector.ChooseBest(flatResults, zoneConfiguration);
                    yield return new RecognizedZone(zoneBitmap, zoneConfiguration, result);
                }
            }
        }
        private IEnumerable <RecognizedZone> GetRecognizedZones(IImage bitmap, RecognitionConfiguration configuration)
        {
            foreach (var zoneConfiguration in configuration.Zones)
            {
                var applicableEngines = engines.Where(e => IsValidTarget(zoneConfiguration, e)).ToList();

                var zoneBitmap = ImagingContext.BitmapOperations.Crop(bitmap, zoneConfiguration.Bounds);
                //var zoneBitmap = bitmap;


                if (applicableEngines.Any())
                {
                    var resultsFromAllEngines = from engine in applicableEngines
                                                select engine.Recognize(zoneBitmap, zoneConfiguration);

                    var flatResults = resultsFromAllEngines.SelectMany(t => t).ToList();

                    var result = OpticalResultSelector.ChooseBest(flatResults, zoneConfiguration);
                    yield return(new RecognizedZone(zoneBitmap, zoneConfiguration, result));
                }
            }
        }
        public RecognizedPage Recognize(IImage image, RecognitionConfiguration configuration)
        {
            var results = GetRecognizedZones(image, configuration).ToList();

            return(new RecognizedPage(image, results));
        }
 internal static extern pxcmStatus PXCMFaceConfiguration_RecognitionConfiguration_SetStorageDesc(IntPtr instance, String storageName, RecognitionConfiguration.RecognitionStorageDesc storage);
 internal static pxcmStatus CreateStorageINT(IntPtr instance, String storageName, out RecognitionConfiguration.RecognitionStorageDesc outStorage)
 {
     outStorage = new RecognitionConfiguration.RecognitionStorageDesc();
     return PXCMFaceConfiguration_RecognitionConfiguration_CreateStorage(instance, storageName, outStorage);
 }
 internal static pxcmStatus QueryActiveStorageINT(IntPtr instance, out RecognitionConfiguration.RecognitionStorageDesc outStorage)
 {
     outStorage = new RecognitionConfiguration.RecognitionStorageDesc();
     return PXCMFaceConfiguration_RecognitionConfiguration_QueryActiveStorage(instance, outStorage);
 }
 public RecognizedPage Recognize(BitmapSource image, RecognitionConfiguration configuration)
 {
     var results = GetRecognizedZones(image, configuration).ToList();
     return new RecognizedPage(image, results);
 }