用于改进 OCR 读取的 C# 图像校正过滤器

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

图像校正滤波器是一种数字图像处理技术,用于改善图像的质量和特性,特别是用于增强文本识别和提取。 IronOcr 中可用的图像校正滤镜有锐化、增强分辨率、降噪、膨胀和腐蚀。

这些图像校正滤镜在 OCR 之前对图像进行预处理时起着至关重要的作用,因为它们通过提高文本的质量和可见性并减少不必要的噪声或伪影,帮助优化图像以进行准确的文本提取。

快速入门:应用锐化滤镜以获得清晰文本

使用 IronOCR 的 OcrImageInput,只需一行代码即可锐化模糊图像。 这个快速入门指南展示了如何以最小的努力快速提高图像清晰度,并为准确的 OCR 做好准备。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronOCR

    PM > Install-Package IronOcr

  2. 复制并运行这段代码。

    new IronOcr.OcrImageInput("sample.png").Sharpen().SaveAsImages("output.png");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronOCR,免费试用!
    arrow pointer


锐化滤波器示例

该滤镜可增强图像边缘的对比度,使其看起来更加清晰。 它提高了文本和细节的清晰度,使 OCR 软件更容易识别字符。

要应用锐化滤镜,请调用 OcrImageInput 对象的Sharpen方法。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-sharpen-filter.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();

// Export filtered image
imageInput.SaveAsImages("sharpen.jpg");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply sharpen filter
imageInput.Sharpen()

' Export filtered image
imageInput.SaveAsImages("sharpen.jpg")
$vbLabelText   $csharpLabel

为了方便起见,您可以使用SaveAsImages方法导出过滤后的图像。 下面对比的是应用锐化滤镜前后的图像。

Sample image
Sharpen filter applied

增强分辨率过滤器示例

该滤镜旨在提高图像的像素密度,从而有效提高图像的清晰度和锐度。 它对于提高低分辨率图像中文本的清晰度尤其有用。

调用EnhanceResolution方法以应用增强分辨率过滤器。 此方法接受目标 DPI,默认值为 225 DPI。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-enhance-resolution-filter.cs
// Apply enhance resolution filter
imageInput.EnhanceResolution();
' Apply enhance resolution filter
imageInput.EnhanceResolution()
$vbLabelText   $csharpLabel
Sample image
Enhance resolution filter applied

去噪滤波器示例

降噪滤镜可以降低图像中的噪声或不需要的瑕疵程度。 降噪对于 OCR 至关重要,因为它有助于将文本与背景干扰隔离开来,从而实现更清晰、更准确的识别。

要应用去噪滤波器,请使用DeNoise方法。 默认形态学为 2x2。要应用更强的去噪算法,请传递"true"以启用 3x3 形态学。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-denoise-filter.cs
// Apply denoise filter
imageInput.DeNoise();
' Apply denoise filter
imageInput.DeNoise()
$vbLabelText   $csharpLabel
Sample image
Denoise filter applied

膨胀滤波器示例

膨胀效果会放大图像中较亮的区域(前景)。 它有助于加粗和增强文本,使其更加突出,更容易被 OCR 软件识别。

要应用膨胀滤波器,请使用Dilate方法。 默认形态为 2x2,设置为"true"可启用 3x3 选项。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-dilate-filter.cs
// Apply dilate filter
imageInput.Dilate();
' Apply dilate filter
imageInput.Dilate()
$vbLabelText   $csharpLabel
Sample image
Dilate filter applied

侵蚀过滤器示例

腐蚀可以减小图像中明亮区域的大小,这对于细化字符和线条非常有用,尤其是在它们很粗或扭曲的时候。

使用Erode方法应用腐蚀滤波器。 与之前的方法一样,默认形态为 2x2,设置为"true"可启用 3x3。

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-erode-filter.cs
// Apply erode filter
imageInput.Erode();
' Apply erode filter
imageInput.Erode()
$vbLabelText   $csharpLabel
Sample image
Erode filter applied

可搜索的PDF

除了图像过滤选项外,IronOcr 还允许开发人员灵活地保存带有或不带有过滤器的修改后的 PDF。 SaveAsSearchablePdf方法允许将布尔标志作为第二个参数,以确定是否要使用过滤器保存。

: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

常见问题解答

我如何增强图像质量以获得更好的OCR结果?

您可以使用 IronOCR 通过应用各种图像校正滤镜(如锐化、增强分辨率、去噪、扩张和侵蚀)来提高图像质量以获得更好的 OCR 结果。这些滤镜提高了文本的清晰度并减少了噪声,有助于更准确的文本提取。

在图像预处理过程中使用锐化滤镜有什么好处?

IronOCR 中的锐化滤镜提高了边缘对比度,提高了图像中文字的清晰度和可读性。这种增强对于提高 OCR 文本识别的准确性至关重要。

我如何提高图像的分辨率以进行 OCR 处理?

要提高 IronOCR 中 OCR 处理的图像分辨率,请使用增强分辨率滤镜,该滤镜可以提高像素密度,从而改善低分辨率图像的清晰度。

在 OCR 之前减小图像噪声应该遵循哪些步骤?

要在使用 IronOCR 的 OCR 之前减少图像噪声,请应用 `DeNoise` 方法。对于更强的降噪,可以通过将选项设置为 'true' 启用 3x3 形态学。

扩张过滤如何影响图像中文字的可见性?

IronOCR 中的扩张过滤扩展图像中较亮的区域,使文字更加突出,帮助 OCR 过程更有效地解释字符。

使用侵蚀滤镜优化文本的方法是什么?

要使用侵蚀滤镜优化文本,请在 IronOCR 中使用 `Erode` 方法。此滤镜可减少亮区域的大小,有助于优化图像中粗或失真字符和线条的形状。

建议的 DPI 设置以增强图像分辨率是什么?

IronOCR 中用于增强分辨率滤镜的默认 DPI 设置为 225 DPI。但是,您可以根据需要指定不同的 DPI 以优化图像清晰度。

IronOCR 可以调整扩张效果的强度吗?

是的,您可以在 IronOCR 中通过在应用扩张滤镜时启用更强的 3x3 形态学来调节扩张效果的强度,这可以通过将选项设置为 'true' 来完成。

我怎样才能开始在 .NET C# 中使用图像校正滤镜?

要在 .NET C# 中开始使用图像校正滤镜,请通过 NuGet 下载 IronOCR 库,导入您的图像,应用所需的滤镜,例如锐化或去噪,然后导出增强后的图像进行 OCR 处理。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 5,167,857 | Version: 2025.11 刚刚发布