我想使用 Tesseract 识别具有典型字体的单个无噪声字符(例如 Times New Roman、Arial 等。没有奇怪的字体)。输入图像只包含字符,因此输入图像大小相当于字体大小。
我已经将页面分割模式设置为单字符,但结果仍然不理想,错误率约为 50%。
我认为如果我告诉 Tesseract 我的字体大小,我可以改进我的结果。有这样的参数吗?此外,如果存在,python-tesseract(Python 包装器)是否允许调整此参数?
我想使用 Tesseract 识别具有典型字体的单个无噪声字符(例如 Times New Roman、Arial 等。没有奇怪的字体)。输入图像只包含字符,因此输入图像大小相当于字体大小。
我已经将页面分割模式设置为单字符,但结果仍然不理想,错误率约为 50%。
我认为如果我告诉 Tesseract 我的字体大小,我可以改进我的结果。有这样的参数吗?此外,如果存在,python-tesseract(Python 包装器)是否允许调整此参数?
如果您的字体太小,则增加图像的高度和宽度,以便 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+" ");
}