从具有特定高度和宽度的图像中提取文本

时间:2017-03-13 09:53:34

标签: c# .net

在该图像中,特定身高体重文本需要提取文本。为此,我使用了modiDocument。代码如下:

public string ExtractTextFromImage(string filepath)
{
    try
    {
        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;
    }
    catch (Exception)
    {
        throw;
    }
    return filepath;
}

从上面的代码我可以从图像中获取填充文本。如何从图像中获取特定的高度宽度文本。

1 个答案:

答案 0 :(得分:0)

来自https://stackoverflow.com/a/734941/3966756

您可以使用Graphics.DrawImage从位图中将裁剪后的图像绘制到图形对象上。

Rectangle cropRect = new Rectangle(...);
Bitmap src = Image.FromFile(fileName) as Bitmap;
Bitmap target = new Bitmap(cropRect.Width, cropRect.Height);

using(Graphics g = Graphics.FromImage(target))
{
   g.DrawImage(src, new Rectangle(0, 0, target.Width, target.Height), 
                    cropRect,                        
                    GraphicsUnit.Pixel);
}

引用结束

使用此代码裁剪图像,您只能加载要从中提取文本的图像部分。

由于我不知道 MODIDocuments 是否支持从位图而不是文件加载,因此您可能需要在文件系统中编写临时文件。