Всем привет и заранее спасибо за помощь. Я пытаюсь разработать приложение для чтения входящих факсов с помощью 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