我想使用Tesseract识别具有典型字体的单个无噪音字符(例如Times New Roman,Arial等等。没有奇怪的字体)。输入图像只包含字符,因此输入图像大小等于字体大小。
我已经将页面分割模式设置为单个字符,但结果仍不理想,错误率为~50%。
如果我告诉Tesseract我的字体大小是什么,我认为我可以改进我的结果。有这样的参数吗?另外,如果它存在,python-tesseract(Python包装器)是否允许调整此参数?
答案 0 :(得分:3)
如果您的字体太小,请增加图像的高度和宽度,以便tesseract提供更准确的输出。
var srcImage1 = System.Drawing.Image.FromFile(@"D:\Image\font_english.jpg");
var newWidth1 = (int)(srcImage1.Width * 2);
var newHeight1 = (int)(srcImage1.Height * 2);
var image = new Bitmap(srcImage1, new Size(newWidth1, newHeight1));
var ocr = new Tesseract();
ocr.Init(@"D:\OCRTEST\tessdata\", "eng", false);
ocr.SetVariable("tessedit_char_whitelist", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789'?.;=,()");
var result = ocr.DoOCR(image, Rectangle.Empty);
foreach (Word word in result)
{
Response.Write(word.Text+" ");
}