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();
        }
예제 #2
0
        /// <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();
            }
        }