如何在C#tesseract 3.02+Emgu 2.4.9上使用其他语言和tesseract
本文关键字:其他 语言 tesseract C#tesseract 02+Emgu | 更新日期: 2023-09-27 18:27:14
我的'tessdate'包含:eng.traineddata、eng.cube.bigrams、eng.cipe.fold、eng.cub.lm、eng.ctube.nn、eng.cub.paramseng.cube.size、eng.cube.word-freq、eng.tessract_cube.nn
rus.traineddata、rus.cube.fold、rus.cub.lm、rus.ctube.nn、rus.cub.params、rus.cUB.size、rus.ccube.word-freq
我在tessdata目录中没有"rus.cube.bigrams"answers"rus.ttesseract_cube.nn"文件。
当我将"eng"更改为"rus"或"ita"时,我得到了这个错误"无法使用Path‘tessdata’和语言‘rus’创建ocr模型",例如在以下代码中:
私人Tesseract_ocr;
public LicensePlateDetector(String dataPath) { //create OCR engine _ocr = new Tesseract("tessdata", "rus", Tesseract.OcrEngineMode.OEM_CUBE_ONLY); _ocr.SetVariable("tessedit_char_whitelist", "ABCDEFGHIJKLMNOPQRSTUVWXYZ-1234567890"); }
我哪里搞错了?
它说在tessdata文件夹中找不到rus语言资源。检查是否已将rus文件的Copy to Output Directory
设置为Copy always
。此外,我刚刚尝试使用Tesseract.NET包装器。它有更令人愉快的语法:
using (var engine = new TesseractEngine(pathToLangFolder, "rus", EngineMode.Default))
{
// have to load Pix via a bitmap since Pix doesn't support loading a stream.
using (var image = new Bitmap(fileName))
{
using (var pix = PixConverter.ToPix(image))
{
using (var page = engine.Process(pix))
{
Console.WriteLine(page.GetMeanConfidence() + " : " + page.GetText());
}
}
}
}