我想使用Tesseract来识别具有典型字体的单个无噪音字符(例如Times New Roman,Arial等,没有奇怪的字体)。输入图像只包含字符,因此输入图像大小等于字体大小。
我已经将分页模式设置为单字符,但结果仍然不理想,错误率约为50%。
我想,如果我告诉Tesseract我的字体大小,我可以提高我的结果。有这样的参数吗?另外,如果它存在,python-tesseract (Python包装器)允许调整这个参数吗?
发布于 2014-10-20 18:16:30
如果字体太小,那么增加图像的高度和宽度,这样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+" ");
}https://stackoverflow.com/questions/21303278
复制相似问题