IronOCR 操作指南 修正图像色彩 如何在 C# 中修复图像颜色以进行读取 Curtis Chau 已更新:九月 23, 2025 下载 IronOCR NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 修复图像颜色涉及多种技术,旨在提高图像的清晰度和质量。 IronOcr 提供二值化、灰度化、反转和颜色替换方法,使图像中的文本和内容更易读、更美观,这在使用 OCR(光学字符识别)从图像中提取文本时尤为重要。 也可以只读取选定的文本颜色。 快速入门:一次性隔离特定文本颜色 使用 IronOCR 的 SelectTextColor 方法,将 OCR 的重点放在您关心的文本颜色上——无需复杂的图像处理。 只需一行代码,即可加载图像、选择文本颜色和容差,并仅提取该文本,从而获得准确的 OCR 结果。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronOCR PM > Install-Package IronOcr 复制并运行这段代码。 new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60)); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronOCR,免费试用! 免费试用30天 最小工作流程(5 个步骤) 下载一个用于校正图像颜色的 C# 库 导入 PDF 文档和图像进行读取 应用所需的颜色效果,如二值化、灰度、反转和颜色替换 导出校正后的图像以供查看 使用SelectTextColor方法读取特定文本颜色 二值化图像示例 这个过程将图像转换为双色格式,通常是黑白图像。它有助于将文本与背景分离并减少噪点,使文本更加清晰易读。 要对图像应用二值化效果,请使用Binarize方法。 由于 OCR 处理在对比度最高的图像(即白底黑字)上效果最佳,因此这种方法对于使背景与字符形成鲜明对比至关重要。 :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-binarize-image.cs using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); // Apply binarize affect imageInput.Binarize(); // Export the modified image imageInput.SaveAsImages("binarize.jpg"); Imports IronOcr ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Add image Private imageInput = New OcrImageInput("sample.jpg") ' Apply binarize affect imageInput.Binarize() ' Export the modified image imageInput.SaveAsImages("binarize.jpg") $vbLabelText $csharpLabel 为了方便起见,您可以使用SaveAsImages方法导出修改后的图像。 下面对比的是二值化前后的图像。 前 后 灰度图像示例 将图像转换为各种灰度可以减少干扰,使读者更容易阅读。 当图像中的原始颜色造成视觉混乱时,这尤其有用。 要将灰度效果应用于图像,请使用ToGrayScale方法。 灰度处理过程包括对 R、G 和 B 值取平均值。 :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs // Apply grayscale affect imageInput.ToGrayScale(); ' Apply grayscale affect imageInput.ToGrayScale() $vbLabelText $csharpLabel 前 后 反转图像示例 反转颜色可以增强对比度。例如,将黑底白字改为白底黑字可以提高可读性。 使用Invert方法反转图像颜色。 该方法可以选择性地接受一个布尔值,该值用于移除所有颜色通道并返回灰度图像。 :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs // Apply invert affect imageInput.Invert(); ' Apply invert affect imageInput.Invert() $vbLabelText $csharpLabel 下图展示了启用和禁用灰度选项后的反转方法。 反转 反转和灰度化 替换颜色示例 这种技术允许您将图像中的特定颜色替换为其他颜色,这有助于突出或弱化某些元素。 它通常用于使文本更加突出或纠正有问题的颜色对比度。 要使用ReplaceColor方法,请指定要替换的当前颜色以及新颜色。 该方法的第三个参数,即容差值,也很重要。 对于模糊图像,需要更高的容忍度才能达到预期效果。 :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-replace-color.cs using IronOcr; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C"); IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan; // Replace color imageInput.ReplaceColor(currentColor, newColor, 80); // Export the modified image imageInput.SaveAsImages("replaceColor"); Imports IronOcr ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Add image Private imageInput = New OcrImageInput("sample.jpg") Private currentColor As New IronSoftware.Drawing.Color("#DB645C") Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan ' Replace color imageInput.ReplaceColor(currentColor, newColor, 80) ' Export the modified image imageInput.SaveAsImages("replaceColor") $vbLabelText $csharpLabel 前 后 阅读特定文本颜色示例 此功能旨在仅读取指定颜色的文本。 使用SelectTextColor方法指定 IronOcr 要关注的颜色以及容差值。 容差值接受 0-255 的范围,表示颜色空间中每个 R、G 和 B 值对应的像素颜色与所选颜色之间允许的差异。 :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs using IronOcr; using System; // Instantiate IronTesseract IronTesseract ocrTesseract = new IronTesseract(); // Add image using var imageInput = new OcrImageInput("sample.jpg"); // Text color to focus on IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C"); // Specify which text color to read imageInput.SelectTextColor(focusColor, 60); // Perform OCR OcrResult ocrResult = ocrTesseract.Read(imageInput); // Output result to console Console.WriteLine(ocrResult.Text); Imports IronOcr Imports System ' Instantiate IronTesseract Private ocrTesseract As New IronTesseract() ' Add image Private imageInput = New OcrImageInput("sample.jpg") ' Text color to focus on Private focusColor As New IronSoftware.Drawing.Color("#DB645C") ' Specify which text color to read imageInput.SelectTextColor(focusColor, 60) ' Perform OCR Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput) ' Output result to console Console.WriteLine(ocrResult.Text) $vbLabelText $csharpLabel 下面您将看到 OCR 结果,该结果旨在仅读取橙色文本。 可搜索的PDF 除了提供图像过滤选项外,IronOcr 还允许开发人员保存应用了或未应用这些过滤器的修改后的 PDF 文件。 SaveAsSearchablePdf方法的第二个参数是一个布尔标志,允许用户指定是否启用或禁用过滤器来保存 PDF。 :path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-searchable-pdf.cs using IronOcr; var ocr = new IronTesseract(); var ocrInput = new OcrInput(); // Load a PDF file ocrInput.LoadPdf("invoice.pdf"); // Apply gray scale filter ocrInput.ToGrayScale(); OcrResult result = ocr.Read(ocrInput); // Save the result as a searchable PDF with filters applied result.SaveAsSearchablePdf("outputGrayscale.pdf", true); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 常见问题解答 如何在.NET C#中增强图像颜色以进行 OCR? 您可以使用 IronOCR 在.NET C#中增强图像颜色以进行 OCR。首先从 NuGet 下载 IronOCR 库,导入图像,并应用二值化、灰度和反转等颜色校正技术以提高文本可读性。 二值化在图像颜色校正中的作用是什么? 图像颜色校正中的二值化将图像转换为黑白格式,这有助于将文本与背景分离,减少噪音并使文本更加显著,从而使用 IronOCR 获得更好的 OCR 结果。 应用灰度效果对 OCR 过程有何好处? 通过将图像转换为灰色阴影,应用灰度效果可减少颜色干扰。这种简化使图像不那么混乱,并增强文本的可读性,这对于使用 IronOCR 的 OCR 过程非常有利。 反转图像颜色对文本提取有何优势? 反转图像颜色可以通过改变颜色方案来提高对比度,例如将黑色背景上的白色文本改为白色背景上的黑色文本。这样的对比度提高可以在使用 IronOCR 时增强文本提取的准确性。 如何更改图像中特定颜色以获得更好的 OCR 结果? 要更改图像中特定颜色以获得更好的 OCR 结果,请在 IronOCR 中使用 ReplaceColor 方法。指定原始颜色、新颜色,并调整容差值以微调颜色替换。 是否可以在 OCR 过程中集中于特定颜色的文本? 是的,可以在 OCR 过程中使用 IronOCR 的 SelectTextColor 方法集中于特定颜色的文本。这样可以指定目标文本颜色和容差值,提高彩色文本的 OCR 准确性。 如何在颜色校正后导出修改后的图像? 在对图像进行颜色校正后,可以使用 IronOCR 中的 SaveAsImages 方法导出它们。这允许您将修改后的图像保存以供进一步处理或查看。 调整图像对比度对于 OCR 准确性为何重要? 调整图像对比度对于 OCR 准确性至关重要,因为这有助于将文本与背景区分开,使字符更加突出并更容易被 OCR 算法提取,特别是在使用 IronOCR 时。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 审核者 Jeffrey T. Fritz 首席项目经理 - .NET 社区团队 Jeff 也是 .NET 和 Visual Studio 团队的首席项目经理。他是 .NET Conf 虚拟会议系列的执行制片人,并主持“Fritz and Friends”直播节目,每周两次与观众一起谈论技术并编写代码。Jeff 撰写研讨会、演示文稿并计划包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP 峰会在内的最大型微软开发者活动的内容。 准备开始了吗? Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布 免费 NuGet 下载 总下载量:5,167,857 查看许可证