IronOCR 操作指南 .NET MAUI OCR 如何在 C# 中使用计算机视觉查找文本#。 Curtis Chau 已更新:一月 10, 2026 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronOCR 使用 OpenCV 计算机视觉技术在 OCR 处理之前自动检测图像中的文本区域。 通过将 Tesseract 识别功能仅集中在已识别的文本区域,提高了对嘈杂、多区域或扭曲文本的准确性,与处理整幅图像相比,提取效果显著增强。 快速入门:检测和 OCR 主文本区域 此示例演示了即时文本提取:加载一张图片,使用 IronOCR 的计算机视觉功能通过 FindTextRegion() 自动检测主要文本区域,然后运行 .Read(...) 以一行提取文本。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronOCR PM > Install-Package IronOcr 复制并运行这段代码。 using var result = new IronTesseract().Read(new OcrInput().LoadImage("image.png").FindTextRegion()); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronOCR,免费试用! 免费试用30天 -如何在 C# 中进行车牌 OCR 识别(教程) -如何在 C# 教程中从发票中获取文本 -如何使用 C# 从屏幕截图中提取文本 -如何在 C# 中进行 OCR 字幕识别(教程) 最小工作流程(5 个步骤) 下载 C# 库,以便在计算机视觉中使用 OCR。 利用FindTextRegion方法自动检测文本区域 检查使用StampCropRectangleAndSaveAs方法检测到的文本区域。 使用计算机视觉,通过FindMultipleTextRegions方法,基于文本区域将原始图像分割成多个图像。 使用GetTextRegions方法获取检测到文本的裁剪区域列表。 如何通过 NuGet 软件包安装 IronOCR.ComputerVision? IronOCR 中用于执行计算机视觉的 OpenCV 方法在常规的 IronOCR NuGet 包中可见。 有关详细的安装指导,请参阅我们的 [NuGet 安装指南](https://ironsoftware.com/csharp/ocr/get-started/advanced-installation-nuget/)。 为什么 IronOCR 需要单独的计算机视觉软件包? 使用这些方法需要在解决方案中安装 `IronOcr.ComputerVision` 的 NuGet。 如果您尚未安装该软件,系统会提示您下载。 计算机视觉功能利用 OpenCV 算法大大提高了文本检测的准确性,这与我们的 [ 牌照识别](https://ironsoftware.com/csharp/ocr/how-to/read-license-plate/)和 [ 护照扫描](https://ironsoftware.com/csharp/ocr/how-to/read-passport/)功能中使用的技术类似。 我应该安装哪个特定平台的软件包? - 视窗:`IronOcr.ComputerVision.Windows` - 请参阅我们的 [Windows 设置指南](https://ironsoftware.com/csharp/ocr/get-started/windows/)。 - Linux:`IronOcr.ComputerVision.Linux` - 请查看我们的 [Linux 安装教程](https://ironsoftware.com/csharp/ocr/get-started/linux/)。 - macOS:`IronOcr.ComputerVision.MacOS` - 查看我们的 [macOS 设置说明](https://ironsoftware.com/csharp/ocr/get-started/mac/)。 - macOS ARM: `IronOcr.ComputerVision.MacOS.ARM` 如何使用软件包管理器控制台进行安装? 使用 NuGet 程序包管理器安装,或者将以下内容粘贴到程序包管理器控制台中: ```shell :InstallCmd Install-Package IronOcr.ComputerVision.Windows ``` 这提供了使用 IronOCR 计算机视觉与我们的模型文件所需的程序集。 IronOCR 中提供了哪些计算机视觉方法? 本教程后面还包含代码示例。 以下是目前可用方法的总体概述: 方法 解释 查找文本区域 检测包含文本元素的区域,并指示 Tesseract 只在检测到文本的区域内搜索文本。 查找多个文本区域 检测包含文本元素的区域,并根据文本区域将页面分割成单独的图像。 获取文本区域 Scans the image and returns a list of text regions as `List`. 如何使用 FindTextRegion 检测文本区域? <!-- --> <!-- 说明:显示逐步过程的截图 --> `FindTextRegion` 使用计算机视觉来检测 `OcrInput` 对象每一页上包含文本元素的区域。 在处理带有零散文本的图像时,或者需要通过只关注包含文本的区域来提高性能时,这种方法尤其有用。 FindTextRegion 的基本用法是什么? ```csharp :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-1.cs ``` [{e:( 此方法重载目前在 `IronOcr 2025.6.x` 中已被弃用,并且不接受自定义参数。 如何自定义 FindTextRegion 参数? 使用自定义参数调用此方法可对文本检测进行微调。 这些参数的作用类似于我们的 [ 图像过滤器配置](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/): ```csharp :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-2.cs ``` FindTextRegion 在实践中是什么样的? 在本例中,我使用下图来说明一种需要裁剪包含文本区域的方法,但输入图像的文本位置可能会有所不同。 我使用 `FindTextRegion` 将扫描范围缩小到计算机视觉已检测到文本的区域。 这种方法与我们的[内容区域和裁剪区域教程](https://ironsoftware.com/csharp/ocr/troubleshooting/crop-regions-rectangles/)中使用的技术类似。 这是一张示例图片: ```csharp :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-3.cs ``` 如何调试和验证文本区域检测? 该代码有两个输出。 首先是 `StampCropRectangleAndSaveAs` 保存的用于调试的 `.png` 文件。 我们的[调试高亮文本指南](https://ironsoftware.com/csharp/ocr/examples/highlight-texts-for-debugging/)也涵盖了这一技术。 我们可以看到 IronCV(计算机视觉)检测到文本的位置: 检测准确识别文本区域。 第二项输出是文本本身: ```text IRONSOFTWARE 50,000+ Developers in our active community 10,777,061 19,313 NuGet downloads Support tickets resolved 50%+ 80%+ Engineering Team growth Support Team growth $25,000+ Raised with #TEAMSEAS to clean our beaches & waterways ``` 如何将 FindMultipleTextRegions 用于多个文本区域? `FindMultipleTextRegions` 获取 `OcrInput` 对象的所有页面,并使用计算机视觉来检测包含文本元素的区域,然后根据文本区域将输入划分为单独的图像。 这对于处理具有多个不同文本区域的文档特别有用,类似于我们的[在文档中读取表格功能](https://ironsoftware.com/csharp/ocr/examples/read-table-in-document/): FindMultipleTextRegions 的基本用法是什么? ```csharp :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-1.cs ``` 从 IronOcr v2025.6.x 版本开始, `FindMultipleTextRegions`方法不再支持自定义参数。 如何自定义 FindMultipleTextRegions 参数? 使用自定义参数调用此方法,以控制区域的检测和分离方式: ```csharp :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-2.cs ``` 如何使用 FindMultipleTextRegions 处理单个页面? `FindMultipleTextRegions` 的另一个重载方法接收一个 OCR 页面并返回一个 OCR 页面列表,其中每个文本区域对应一个 OCR 页面。 这种方法有助于处理复杂的布局,类似于我们的[多页 TIFF 处理指南](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multipage-tiff/)中描述的技术: ```csharp :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-3.cs ``` 如何使用 GetTextRegions 获取文本区域坐标? `GetTextRegions` 返回在页面上检测到文本的裁剪区域列表。 当您需要文本区域的坐标以便进一步处理或实施自定义 OCR 工作流程时,这种方法尤其有用。 有关使用结果的更多详细信息,请参阅我们的 [OcrResult 类文档](https://ironsoftware.com/csharp/ocr/examples/results-objects/): 何时应使用 GetTextRegions 而不是 FindTextRegion? ```csharp /* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */ using IronOcr; using IronSoftware.Drawing; using System; using System.Collections.Generic; using System.Linq; // Create a new IronTesseract object for OCR var ocr = new IronTesseract(); // Load an image into OcrInput using var input = new OcrInput(); input.LoadImage("/path/file.png"); // Get the first page from the input var firstPage = input.GetPages().First(); // Get all text regions detected on this page List textRegions = firstPage.GetTextRegions(); // Display information about each detected region Console.WriteLine($"Found {textRegions.Count} text regions:"); foreach (var region in textRegions) { Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}"); } // You can also process each region individually foreach (var region in textRegions) { var regionResult = ocr.Read(input, region); Console.WriteLine($"Text in region: {regionResult.Text}"); } ``` 计算机视觉在 OCR 中的常见用例有哪些? 计算机视觉可在具有挑战性的场景中大大提高 OCR 的准确性。 以下是实际应用: 1.**文档布局分析**:自动识别和处理复杂文档的不同部分。 尤其适用于 [ 扫描文件](https://ironsoftware.com/csharp/ocr/examples/read-scanned-document/)。 2.**多栏文本**:为报纸或杂志分栏并独立阅读。 使用[多线程处理](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/)以获得更快的结果。 3.**混合内容**:区分文档中的文本区域和图形。 在处理[内嵌文本的照片](https://ironsoftware.com/csharp/ocr/examples/read-photo/)时有帮助。 4.**性能优化**:只对包含文本的区域进行 OCR 处理。 请参阅我们的[快速 OCR 配置指南](https://ironsoftware.com/csharp/ocr/examples/tune-tesseract-for-speed-in-dotnet/)。 5.**质量控制**:在完全 OCR 处理之前验证文本检测。 我们的[进度跟踪功能](https://ironsoftware.com/csharp/ocr/examples/progress-tracking/)可监控每个阶段。 通过正确的设置和输入文件,OCR 可以实现接近人类的阅读能力。 为获得最佳效果,请将计算机视觉与我们的[图像优化过滤器](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/)相结合,以实现最佳的 OCR 准确性。 在处理低质量图像时,我们的[修复低质量扫描](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)指南提供了宝贵的预处理技术。 ### 高级计算机视觉技术 对于希望提高 OCR 精确度的开发人员来说,可以考虑这些先进的方法: - **定制培训**:使用我们的[定制语言文件指南](https://ironsoftware.com/csharp/ocr/examples/ocr-tesseract-custom-languages/)为专用字体培训 OCR 引擎。 - **多语言支持**:使用我们的[多语言功能](https://ironsoftware.com/csharp/ocr/examples/ocr-tesseract-multiple-languages/)处理多语言文档 - **条形码集成**:使用我们的[具有条形码阅读功能的OCR](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-barcodes/),将文本识别与条形码阅读结合起来 常见问题解答 什么是 OCR 中的计算机视觉? IronOCR 中的计算机视觉使用 OpenCV 算法在 OCR 处理之前自动检测图像中的文本区域。这样,Tesseract 只对识别出的文本区域进行识别,而不是处理整个图像,从而大大提高了噪声、多区域或扭曲文本的准确性。 如何在 C# 中快速实现计算机视觉 OCR? IronOCR 只需一行代码即可实现计算机视觉 OCR:使用 IronTesseract 的 FindTextRegion() 方法自动检测主要文本区域,然后运行 .Read() 立即提取文本。 为什么需要安装单独的计算机视觉软件包? IronOCR 需要单独的 IronOcr.ComputerVision NuGet 包,因为计算机视觉功能利用了 OpenCV 算法。这些算法大大提高了文本检测的准确性,对于车牌识别和护照扫描等功能至关重要。 我应该安装哪个特定平台的计算机视觉软件包? IronOCR 提供特定平台的软件包:适用于 Windows 系统的 IronOcr.ComputerVision.Windows、适用于 Linux 发行版的 IronOcr.ComputerVision.Linux,以及适用于 macOS 环境的 IronOcr.ComputerVision.MacOS。 如何检测图像中的多个文本区域? IronOCR 提供了 FindMultipleTextRegions 方法,可根据检测到的文本区域将原始图像分离成多个图像。您还可以使用 GetTextRegions 方法检索检测到文本的裁剪区域列表。 我能否在处理前验证已检测到哪些文本区域? 是的,IronOCR 包含 StampCropRectangleAndSaveAs 方法,允许您在运行实际 OCR 流程之前检查计算机视觉算法检测到了哪些文本区域。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 5,246,844 | 版本: 2025.12 刚刚发布 免费 NuGet 下载 总下载量:5,246,844 查看许可证