OCR引擎专为屏幕阅读而设计

Eri*_*bes 9 .net ocr text screenshot imaging

是否有任何OCR引擎设计用于识别屏幕捕获图像中的文本而不是扫描文本?我有一个项目,我需要在应用程序中检索和识别文本,到目前为止,我尝试过的OCR引擎都没有与截图相关.

理想情况下,引擎应该能够很好地处理颜色和背景噪音,尽管如果没有这样的话,我可以做一些补贴.

它需要与.NET兼容; 用.NET编写或具有.NET可调用API.

Nat*_*ate 5

我发现Tesseract OCR对于一个开源项目非常可靠.我发现它甚至可以读取和解码简单的验证码,比如Megaupload.我认为通过一些调整,这可以很好地工作.

唯一的痛苦是它只接受未压缩的TIFF图像,这可能很烦人.

编辑:Philip Daubmeier已经发现了.NET集成,但下面是将Bitmap转换为未压缩TIFF的代码.

private void ConvertBitmapToTIF(Bitmap convert)
{
    ImageCodecInfo codecInfo = GetEncoderInfo("image/tiff");
    System.Drawing.Imaging.Encoder encodeCom = System.Drawing.Imaging.Encoder.Compression;
    System.Drawing.Imaging.Encoder encodeBPP = System.Drawing.Imaging.Encoder.ColorDepth;

    EncoderParameters parms = new EncoderParameters(2);
    EncoderParameter param0 = new EncoderParameter(encodeCom, (long)EncoderValue.CompressionNone);
    EncoderParameter param1 = new EncoderParameter(encodeBPP, 8L);
    parms.Param[0] = param0;
    parms.Param[1] = param1;

    convert.Save("output.tif", codecInfo, parms);
}
Run Code Online (Sandbox Code Playgroud)

这将保存到文件,但Bitmap.Save方法也可以写入流.


Tom*_*ato 4

通常,OCR 技术经过调整以处理扫描文本,其分辨率至少为 200 dpi,但为了获得可靠的 OCR 质量,建议使用 300 dpi。因此,您需要花一些精力来调整设置和所有内容,以使其在屏幕文本(通常被认为接近 96 dpi)上运行。

ABBYY 有屏幕截图 OCR 软件:http://www.abbyy.com/screenshot_reader/,这证明其技术能够在这种情况下很好地工作。我用它,它确实有效。因此,您可能需要联系 ABBYY 获取 OCR SDK:http://www.abbyy.com/ocr_sdk/(可以从 .NET 使用)

它并不便宜,但很有效。免责声明:我为 ABBYY 工作