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); }
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; }
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); }