我为tesseract添加了C#包装器:TesseractEngine
我有两种类型的图像可供阅读:
第二种类型(仅限一个字母):
但在这两种情况下,Tesseract都会返回空字符串。
这是我的代码(在docs中找到):
public static void Main(string[] args)
{
var testImagePath = @"C:\plate\ExtractLicensePlate-0.jpg";
if (args.Length > 0)
{
testImagePath = args[0];
}
try
{
using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
{
engine.SetVariable("tessedit_char_whitelist", "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
using (var img = Pix.LoadFromFile(testImagePath))
{
using (var page = engine.Process(img))
{
var text = page.GetText();//<-- empty :(
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.Read();
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
也许我错过了一个选项或其他什么?
编辑:我试过这种但是没有成功:编辑2:我尝试灰色和黑白色和Tesseract给我:EEEEEEE
我不知道我能做得更好......:
答案 0 :(得分:1)
尝试将PageSegMode
设置为SingleChar
或SingleWord
using (var page = engine.Process(img, PageSegMode.SingleChar))
{
var text = page.GetText();
}