IronOCR 功能

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR是一个.NET库,允许开发者从图像中扫描和读取文本或条形码。

兼容性

.NET 语言

  • C#教程 API 参考
  • 在C#中扫描和读取图像(jpg, png, gif, tiff, bmp)中的文本或条形码。
  • VB.NET
  • 在VB.NET中从图像(jpg, png, gif, tiff, bmp)中扫描和读取文本或条形码。
  • F#

    • 在 F# 中扫描和读取来自图像(jpg、png、gif、tiff、bmp)的文本或条形码。

平台

  • .NET 5, 6, 7 和 8 (教程)
  • IronOCR支持.NET 5、6、7和8。
  • .NET Core 2和3 (教程)

    • IronOCR 支持 .NET Core 2 和 3。

    • 当前版本支持在Linux、Unix和macOS客户端操作系统上的.NET Core,以及Mono。
  • 未来的版本将支持 MAUI 和 Xamarin。
  • .NET Standard 2+ (API 参考)
  • IronOCR 与 .NET Standard 2 及以上版本兼容。
  • .NET Framework 4.6.2+代码示例 API 参考)

    • 使用 .NET Framework 4.6.2 及以上版本扫描并读取图像中的文本或条形码。

应用程序类型

  • 控制台、Web 和桌面教程API 参考

    • 使用IronOCR为Web、桌面和控制台创建应用程序。

操作系统

集成开发环境

  • Microsoft Visual Studio教程
  • Jetbrains ReSharper 和 Rider

证书

  • Microsoft Authenticode

    • DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1

OCR引擎

底层OCR引擎

  • Tesseract 5教程 代码示例)
  • Tesseract 是一个开源文本识别 (OCR) 引擎,可在 Apache 2.0 许可证下使用。 C#.NET 上可用的最准确快速的库之一。 目前,Tesseract 5 是最稳定的版本。
  • 详细配置(代码示例

    • IronTesseract.Configuration 对象提供访问C# / .NET中的基础 Tesseract API,以便为高级用户配置设置。

    • 设置可以在执行OCR后改善输出效果。

    • 要提高OCR速度,请查看此代码示例以获取快速OCR配置。

国际语言

教程

文本和条形码阅读

专业文档

此方法使用机器学习来增强文本识别。

并发性

  • 单线程与多线程 (操作指南 代码示例
  • 异步支持 (操作指南 API参考
  • 中止令牌 (代码示例)
  • 允许用户在程序或应用运行时,如果读取大型输入文件时出现卡顿,可以暂停当前线程一定的毫秒数。
  • 超时 (代码示例)

    • 提供可选的超时时间(以毫秒为单位),之后OCR读取将被取消。

计算机视觉

如何操作 API 参考

  • 使用计算机视觉根据我们的高级训练模型查找文本。 IronOCR 利用 OpenCV 使用计算机视觉来检测图像中存在文本的区域。 这对于包含大量噪音的图像、文本分布在许多不同位置的图像,以及文本扭曲的图像非常有用。 IronOCR 中计算机视觉的使用将确定文本区域的位置,然后使用 Tesseract 尝试读取这些区域。

OCR输入

代码示例

从多种格式读取

过滤器

  • 滤镜向导 (代码示例 API 参考
  • 如果不知道应该对图像应用哪种滤镜,Filter Wizard 提供了适用于 OcrInput 的滤镜列表,使用暴力方法返回最大置信度的组合。
  • OCR图像滤镜 (使用方法 教程 代码示例

    • SharpenAPI 参考

      * 锐化模糊的OCR文档。 将 Alpha 通道平展为白色。
    • EnhanceResolution (API 参考)

      * 提高低质量图像的分辨率。
    • Denoise (API 参考)

      * 消除数码噪声。此过滤器仅应在预期有噪声的情况下使用。 将 Alpha 通道平展为白色。
    • Dilate (API 参考)

      * 高级形态学。 _Dilation_ 在图像中的对象边界处添加像素。 侵蚀的反义词
    • Erode (API 参考)
  • 高级形态学。 侵蚀在对象边界上移除像素。 缩小
  • 修正图像方向 (操作指南 教程 代码示例

    • Rotate (教程 API 参考

      * 将图像顺时针旋转若干度。要逆时针旋转,请使用负数。
    • Deskew (教程 API 参考

      * 将图像旋转至正位并保持正交。 这对于OCR非常有用,因为Tesseract对扫描倾斜的容忍度可以低至5度。
    • 缩放 (教程 API 参考
  • 按比例缩放 OcrInput 页面。
  • 修复图像颜色 (使用方法 教程 代码示例

    • Binarize (教程 API 参考

      * 此图像过滤器将每个像素变为黑色或白色,没有中间色。 可能提高OCR性能,用于文本与背景对比度非常低的情况。
    • ToGrayscale (API 参考)

      * 此图像过滤器将每个像素转换为灰度阴影。 不太可能提高OCR准确性,但可能提高速度。
    • Invert (教程 API参考

      * 反转每种颜色。 例如,白变黑:黑变白。
    • ReplaceColorAPI 参考资料

      * 将图像中的一种颜色替换为另一种颜色,并设定一个阈值。
    • SelectTextColor (API 参考)

      * 将图像中的一种颜色替换为另一种颜色,并设定一个阈值。

应用裁剪区域

OCR结果

简单数据输出

操作指南 代码示例

  • .NET 文本字符串
  • 条形码和二维码数据
  • 图像

结构化数据输出

操作指南 代码示例

  • 页面
  • 段落
  • 字词
  • 字符

导出文档

突出显示页面上的文本以进行调试

  • 在检测到的字符/单词/行/段落周围画红色框以突出显示,并将其保存为.png以便调试。

状态和分析