OCR для входящих факсов - PullRequest
       7

OCR для входящих факсов

0 голосов
/ 07 ноября 2018

Всем привет и заранее спасибо за помощь. Я пытаюсь разработать приложение для чтения входящих факсов с помощью OCR. Я использую службы факсов Microsoft, работающие на платформе Windows Server 2012. Для начала я пытаюсь использовать Tesseract 4.0 для выполнения функции OCR. В зависимости от факса результаты могут быть весьма плачевными, что понятно, учитывая поступающее переменное качество. Я пытаюсь изменить разрешение каждого кадра TIFF и сохранить изображение в формате png, используя следующий код:

            foreach (Guid guid in tiffImage.FrameDimensionsList)
        {
            for (int index = 0; index < noOfPages; index++)
            {
                FrameDimension currentFrame = new FrameDimension(guid);
                tiffImage.SelectActiveFrame(currentFrame, index);
                //tiffImage.VerticalResolution = 300;                    
                tiffImage.Save(string.Concat(pstrOutputPath, @"\", index, ".TIF"), encodeInfo, null);

                float xDpi = 500.00F;
                float yDpi = 500.00F;


                Bitmap bmp = new Bitmap(tiffImage);
                bmp.SetResolution(xDpi, yDpi);

                //PngBitmapEncoder encoder = new PngBitmapEncoder();
                FileInfo info = new FileInfo(pstrInputFilePath);

                bmp.Save(string.Concat(pstrOutputPath, @"\", Path.GetFileNameWithoutExtension(pstrInputFilePath) + "_" + index, "_PNG.png"), System.Drawing.Imaging.ImageFormat.Png);
                string NewFile = string.Concat(pstrOutputPath, @"\", Path.GetFileNameWithoutExtension(pstrInputFilePath) + "_" + index, "_PNG.png");
                GetExtractedText(DataPath, NewFile);

            }

Я не пробовал никакой другой предварительной обработки. Я понимаю, что факсы трудны, учитывая изменчивость входящего ввода, но я должен верить, что коммерческие продукты имеют более высокий показатель результата, чем я достигаю. Мне интересно, какую еще предварительную обработку я могу сделать, например OpenCV или что-то подобное. Любая помощь будет оценена.

UPDATE:

Мне нужно продезинфицировать некоторые примеры, но для краткости я выложу пару примеров, которые будут приведены ниже:

Sample1

когда Тессеракт попадает в эту часть, я либо получаю полную тарабарщину, либо в лучшем случае косые черты в дате возвращаются как число 1.

Samples2

Образец 2 возвращает тарабарщину. Пример 3 также возвращает только тарабарщину, возможно, из-за не пропорционального изменения размера изображения, однако, я удивлен, что это не удается. Я понимаю, что фон и зернистость изображений вызывают проблему, но я думаю (возможно, неправильно), что это может быть обработано. Я не очень опытен в манипулировании изображениями, поэтому некоторые из упомянутых вами идей - это то, с чем я никогда не сталкивался в прошлом.

Образец 3

...