嗨,我有一个挑战,我需要使用C#从低质量图像中读取文本

时间:2018-04-17 04:29:35

标签: c# ocr modi

我正在使用OCR方法来阅读图片,挑战是我想阅读文字(For Ex:From Passport或其他一些文件中有背景图片加上图片的质量也不好),你能否提出任何要执行的想法,以便它清楚地阅读每一个文本,欢迎任何建议,例如增加亮度或任何这样的想法。请不要将其标记为副本,因为我的问题是副本,但挑战是不同的。下面是我通过堆栈溢出本身获得的代码。

protected void Button1_Click(object sender, EventArgs e)
{
    string filePath = Server.MapPath("~/Uploads/" 
                    + Path.GetFileName(FileUpload1.PostedFile.FileName));
    FileUpload1.SaveAs(filePath);
    string extractText = this.ExtractTextFromImage(filePath);
    lblText.Text = extractText.Replace(Environment.NewLine, "<br />");
}

private string ExtractTextFromImage(string filePath)
{
    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;
}

1 个答案:

答案 0 :(得分:0)

你可以参考Tessar-OCR的suggested methods。现在道歉,显示任何提高扫描图像质量的代码,但我认为这个想法就在文章中。

另外,鉴于您拥有的代码,它似乎使用自2010年以来不支持的MODI。在我的情况下,我们使用Tesseract .net的包装器,它是安静的活动(main branch)并支持广泛的programming languagesdialects

我的2美分:)