如何阅读图像

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

查克尼特·宾

OCR(光学字符识别)是一种用于识别和提取图像中文本的技术。 这项技术特别适用于数字化打印文档,因为它允许您从扫描的页面、照片或其他图像文件中提取并处理文本内容。

IronOCR支持多种图像格式,包括jpg、png、gif、tiff和bmp。还提供图像过滤器以增强阅读能力。

开始使用IronOCR

立即在您的项目中开始使用IronOCR,并享受免费试用。

第一步:
green arrow pointer



读取图片示例

首先实例化 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)
VB   C#
读取 PNG 图像

访问如何读取多帧/页 GIF 和 TIFF 文件文章,了解有关读取 TIFF 和 GIF 图像的更多信息。

将图像作为字节导入

除了普通的文件路径外,OcrImageInput类还接受以字节、AnyBitmap、流以及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)
VB   C#

指定扫描区域

在实例化 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)
VB   C#

OCR结果

读取特定区域
Chaknith related to OCR结果

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。