C# 使用哪个库从图像中提取文本?

C# 使用哪个库从图像中提取文本?,c#,ocr,text-recognition,C#,Ocr,Text Recognition,我正在写一个程序,当给出一个低级数学问题(例如98*13)的图像时,应该能够输出答案。数字是黑色的,背景是白色的。不是验证码,只是一道数学题的图像 数学问题只有两个数字和一个运算符,而该运算符只能是+、-、*、或/ 显然,我知道如何计算;)我只是不知道如何从图像中获取文本 一个免费的图书馆将是理想的。。。虽然如果我必须自己编写代码,我也可以管理。< /P> < P>试试C++中使用C++谷歌TeSARACT OCR库的帖子。 您需要OCR。谷歌有免费的Tesseract库,但它是C代码。您可以在

我正在写一个程序,当给出一个低级数学问题(例如98*13)的图像时,应该能够输出答案。数字是黑色的,背景是白色的。不是验证码,只是一道数学题的图像

数学问题只有两个数字和一个运算符,而该运算符只能是+、-、*、或/

显然,我知道如何计算;)我只是不知道如何从图像中获取文本


一个免费的图书馆将是理想的。。。虽然如果我必须自己编写代码,我也可以管理。< /P> < P>试试C++中使用C++谷歌TeSARACT OCR库的帖子。
您需要OCR。谷歌有免费的Tesseract库,但它是C代码。您可以在C++/CLI项目中使用,并通过.NET进行访问

这篇文章提供了一些关于识别数字的信息(对于数独,但您的问题类似)


您可以在visaul studio中使用Microsoft Office Document Imaging(Interop.MODI.dll)并提取图片文本

Document modiDocument = new Document();
modiDocument.Create(filePath);
modiDocument.OCR(MiLANGUAGES.miLANG_ENGLISH);
MODI.Image modiImage = (modiDocument.Images[0] as MODI.Image);
string extractedText = modiImage.Layout.Text;
modiDocument.Close();
return extractedText;

为了从图像中提取单词,我使用了最精确的开源OCR引擎:Tesseract。可用或直接在您的NuGet软件包中提供

这是我在C#中的函数,它从传入
sourceFilePath
的图像中提取单词。将EngineMode设置为TesseractAndCube;它比其他选项检测到更多的单词

var path = "YourSolutionDirectoryPath";
using (var engine = new TesseractEngine(path + Path.DirectorySeparatorChar + "tessdata", "fra", EngineMode.TesseractAndCube))
{
    using (var img = Pix.LoadFromFile(sourceFilePath))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            // text variable contains a string with all words found
        }
    }
}

我希望这会有帮助。

是的。我找不到任何适用的。。。“快速入门”