如何阅读图像
OCR 或光学字符识别是一种用于从图像中识别和提取文本的技术。这项技术对于印刷文件的数字化尤其有用,因为它可以让你从扫描页面、照片或其他图像文件中提取文本内容并进行处理。
IronOCR 支持多种图像格式,包括 jpg、png、gif、tiff 和 bmp。还提供图像过滤器,以增强读取能力。
如何阅读图像
- 下载读取图像的 C# 库
- 支持各种格式的图像,包括 jpg、png、gif、tiff 和 bmp
- 实例化 OcrImageInput 类来输入图像
- 使用
读取
对输入图像进行 OCR 识别的方法 - 指定裁剪区域以定义阅读区域
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronOCR 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变OCR。
Install-Package IronOcr
考虑安装 IronOCR DLL 直接。下载并手动安装到您的项目或GAC表单中: IronOcr.zip
手动安装到你的项目中
下载DLL读取图像示例
首先实例化 IronTesseract 类以启用 OCR。利用 "using "语句创建一个 OcrImageInput 对象,并指定图像文件路径。这样可以确保在不再需要资源时对其进行妥善处理。IronOCR 支持各种格式的输入图像,包括 jpg、png、gif、tiff 和 bmp。最后,使用 Read
方法执行 OCR。
:path=/static-assets/ocr/content-code-examples/how-to/input-images-read.cs
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("Potter.png");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("Potter.png")
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
访问 如何读取多帧/页 GIF 和 TIFF 文件 文章,了解有关读取 TIFF 和 GIF 图像的更多信息。
以字节为单位导入图像
除了普通的文件路径外,OcrImageInput 类还接受字节、AnyBitmap、Stream 和 Image 形式的图像信息。AnyBitmap 是一个位图对象,其属性为 IronSoftware.Drawing.AnyBitmap.
:path=/static-assets/ocr/content-code-examples/how-to/input-images-import-byte.cs
using IronOcr;
using System.IO;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Read byte from file
byte[] data = File.ReadAllBytes("Potter.tiff");
// Import image byte
using var imageInput = new OcrImageInput(data);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.IO
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Read byte from file
Private data() As Byte = File.ReadAllBytes("Potter.tiff")
' Import image byte
Private imageInput = New OcrImageInput(data)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
指定扫描区域
在实例化 OcrImageInput 类时,还可以使用裁剪矩形(CropRectangle)。这样,您就可以指定图像文件的哪个区域应进行 OCR 编辑。根据图像文件的具体情况,指定扫描区域可以大大提高性能。在我提供的代码示例中,我指定只读取章节号和标题。
:path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);
// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)
' Add image
Private imageInput = New OcrImageInput("Potter.tiff", ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Output the result to console
Console.WriteLine(ocrResult.Text)