Tessnet2 OCR:如何调整 OCR 以仅识别所有字母、单词和数字?
Tessnet2 OCR: How to tune OCR to recognize only all letters, words and digits?
我正在使用 tessnet2 C# simple example 中描述的 tessnet2。
var image = new Bitmap(@"C:\OCRTest\number.jpg");
var ocr = new Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789"); // If digit only
//@"C:\OCRTest\tessdata" contains the language package, without this the method crash and app breaks
ocr.Init(@"C:\OCRTest\tessdata", "eng", true);
var result = ocr.DoOCR(image, Rectangle.Empty);
foreach (Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);
Console.ReadLine();
但是当我给出一个图像作为输入时,它也包含英文单词和数字或仅包含英文单词。它 returns 只有数字(图像中存在的数字和一些额外的数字)。
我在评论第三行后尝试过,但它甚至无法识别数字。
有谁知道如何在 C# 中使用 tessnet2 以便它读取所有字母、单词和数字。
只需编辑行
ocr.Init(@"C:\OCRTest\tessdata", "eng", true);
来自
ocr.Init(@"C:\OCRTest\tessdata", "eng", false);
并注释掉第三行
//ocr.SetVariable("tessedit_char_whitelist", "0123456789");
它会起作用的。
我正在使用 tessnet2 C# simple example 中描述的 tessnet2。
var image = new Bitmap(@"C:\OCRTest\number.jpg");
var ocr = new Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789"); // If digit only
//@"C:\OCRTest\tessdata" contains the language package, without this the method crash and app breaks
ocr.Init(@"C:\OCRTest\tessdata", "eng", true);
var result = ocr.DoOCR(image, Rectangle.Empty);
foreach (Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);
Console.ReadLine();
但是当我给出一个图像作为输入时,它也包含英文单词和数字或仅包含英文单词。它 returns 只有数字(图像中存在的数字和一些额外的数字)。 我在评论第三行后尝试过,但它甚至无法识别数字。 有谁知道如何在 C# 中使用 tessnet2 以便它读取所有字母、单词和数字。
只需编辑行
ocr.Init(@"C:\OCRTest\tessdata", "eng", true);
来自
ocr.Init(@"C:\OCRTest\tessdata", "eng", false);
并注释掉第三行
//ocr.SetVariable("tessedit_char_whitelist", "0123456789");
它会起作用的。