0

我正在使用 OCR 方法读取图像,挑战是我想读取文本(例如:从护照或其他包含背景图像的文件加上图像质量也不好),所以您能否建议执行任何想法,以便清楚地阅读每个文本,欢迎任何建议,例如增加亮度或任何此类想法。请不要将其标记为副本,因为我的问题是副本,但挑战不同。下面是我通过堆栈溢出本身获得的代码。

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;
}
4

1 回答 1

0

您可以参考 Tessar-OCR 的建议方法。很抱歉现在显示任何用于提高扫描图像质量的代码,但我认为文章中有这个想法。

此外,鉴于您拥有的代码,它似乎使用自 2010 年以来不受支持的 MODI。在我的情况下,我们使用了 .net 的Tesseract包装器,它是安静活跃的(主分支)并支持广泛的编程语言方言

我的 2 美分 :)

于 2018-04-17T05:35:13.127 回答