public TesseractProcessor() { GdImg = new GdPictureImaging(); GdOcr = new GdPictureOCR { EnablePreprocessing = false, OCRMode = OCRMode.FavorAccuracy, Context = OCRContext.OCRContextSingleWord, CharacterSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", ResourceFolder = @"C:\GdPicture.NET 14\Redist\OCR" }; blobFactory = new SpecialFactory(); }
/// <summary> /// Apply ocr settings /// </summary> /// <param name="ocr"></param> /// <param name="options"></param> private void ApplySettings(GdPictureOCR ocr, OCROption options) { if (string.IsNullOrWhiteSpace(options.ResourceFolder)) { options.ResourceFolder = GdPictureHelper.OCRDirectory; } ocr.Context = (GdPicture14.OCRContext)(int) options.Context; ocr.LanguageModelPenaltyNonDictWords = 0.15f; ocr.LanguageModelPenaltyNonFreqDictWords = 0.1f; ocr.ResourceFolder = options.ResourceFolder; ocr.LoadMainDictionary = options.UseMainDictionary; ocr.LoadFreqWordsDictionary = options.UseFreqWordsDictionary; ocr.EnableOrientationDetection = options.EnableOrientationDetection; ocr.EnableSkewDetection = options.EnableSkewDetection; ocr.ResetSelectedDictionaries(); if (options.Languages != null) { foreach (var language in options.Languages) { ocr.AddLanguage((GdPicture14.OCRLanguage)(int) language); } } else { //using german by default. ocr.AddLanguage(GdPicture14.OCRLanguage.German); } ocr.OCRMode = (GdPicture14.OCRMode)(int) options.Mode; ocr.CharacterSet = options.CharacterSet; if (options.Left != 0 && options.Top != 0 && options.Width != 0 && options.Height != 0) { ocr.SetROI(options.Left, options.Top, options.Width, options.Height); } else { ocr.ResetROI(); } }