OCR工具

如何在Python中构建OCR

发布 2023年十一月22日
分享:

世界上充斥着大量的文本信息。从印刷文件到手写笔记,大量有价值的内容如果能更方便地获取,将会非常有用。

这就是光学字符识别技术 (光学字符识别) 技术的作用。想象一下,计算机能够像人类一样从图像中 "读取 "文字,这就是计算机视觉,它代表了计算机科学的一个分支,我们可以训练计算机识别和辨认图像中的不同主体。

在本教程中,我们将指导您使用 Python 构建自己的 OCR 系统,Python 是一种编程语言,以其简单和多功能而著称。在 Tesseract.Python 等库的帮助下,您可以创建自己的 OCR 系统、 IronOCR和 OpenCV,您很快就能释放从文档图像中提取、处理和处理文本的潜能。

OCR 引擎的先决条件 (光学字符识别)

在我们深入细致地构建 OCR 系统之前,你需要一些东西:

  1. Python:确保计算机上安装了 Python。您可以从 Python 官方网站.

  2. 安装 Tesseract OCR:Tesseract OCR 是谷歌开发的开源 OCR 引擎。它是一个功能强大的工具,我们将在项目中使用它。你可以从以下网址下载 Tesseract 库 GitHub 并阅读有关 Tesseract OCR 安装过程的信息。

  3. Python 库:我们将在本项目中使用两个重要的 Python 库 pytesseractopencv 库。您可以在命令行提示符或终端中使用以下命令安装它们:
    :InstallCmd  pip install pytesseract opencv-python

如何用 Python 构建 OCR:图 1

建立 OCR 系统的步骤

借助 Python OCR 库和简单的 Python 脚本,您可以使用 Python 代码轻松构建 OCR。

步骤 1 导入图书馆

首先,您需要导入必要的库:

import cv2 
import pytesseract
PYTHON

步骤 2 `读取和处理图像

使用 OpenCV 加载图像并对其进行预处理,以提高 OCR 的准确性:

# Load the image using OpenCV 
image = cv2.imread('sample_image.png') 
# Convert the image to grayscale 
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 
# Apply thresholding or other preprocessing techniques if needed
PYTHON

第 3 步:使用 Tesseract 进行 OCR 识别

现在该使用 Tesseract OCR 引擎对处理后的图像进行 OCR 识别了:

# Use pytesseract to perform OCR on the grayscale image 
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
text = pytesseract.image_to_string(gray_image) 
PYTHON

第 4 步:显示结果

如果想将原始图像和提取的文本可视化,可以使用 OpenCV 显示它们:

# Display the original image 
cv2.imshow('Original Image', image) 
cv2.waitKey(0) 
# Display the extracted text
    print("Extracted Text:", text) 
cv2.waitKey(0) 
cv2.destroyAllWindows()
PYTHON

原始图像

如何在 Python 中构建 OCR:图 2

摘录文本

如何在 Python 中构建 OCR:图 3

正如您所看到的,结果太糟糕了,因为我们需要对它进行训练 (当我们训练机器学习) 在使用它执行 OCR 提取包含表格的文本图像之前。

IronOCR

在一个数据泛滥的世界,能够毫不费力地将打印或手写文本转换为机器可读内容是一种变革能力。

进入 IronOCR - 这是一项尖端技术,可帮助开发人员集成强大的光学字符识别功能 (光学字符识别) 在他们的应用程序中轻松实现这些功能。

无论您是要从扫描文档中提取数据、自动输入数据,还是要提高可访问性,IronOCR 都能提供超越传统文本识别界限的全面解决方案。

在本文中,我们将深入探讨 IronOCR,揭示其多功能特性,并重点介绍其在物理世界和数字世界之间架起桥梁的潜力。

安装 IronOCR

只需运行以下命令,就能使用 NuGet 软件包管理器控制台轻松安装 IronOCR。

Install-Package IronOcr

IronOCR 还可在以下网站下载 官方 NuGet 网站.

使用 IronOCR 从图像中提取文本

在本节中,我们将了解如何使用 IronOCR 从图像中轻松提取文本。以下是从图像中提取文本的源代码。

using IronOcr;
using System;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
    input.AddImage("r3.png");
    OcrResult result = ocr.Read(input);
    string text = result.Text;
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
    input.AddImage("r3.png");
    OcrResult result = ocr.Read(input);
    string text = result.Text;
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System
Private ocr = New IronTesseract()
Using input = New OcrInput()
	input.AddImage("r3.png")
	Dim result As OcrResult = ocr.Read(input)
	Dim text As String = result.Text
	Console.WriteLine(result.Text)
End Using
VB   C#

输出

如何在 Python 中构建 OCR:图 4

结论

在本教程中,我们探讨了构建光学字符识别系统的过程。 (光学字符识别) 系统,揭示了从图像中轻松提取文本的能力。

通过利用 Tesseract 和 OpenCV 等库,我们已经完成了从加载和预处理图像到利用 Tesseract OCR 引擎提取文本的基本步骤。

我们还谈到了潜在的挑战,如准确性限制,而 IronOCR 等先进的解决方案正是为了解决这些问题。

无论您是选择 DIY 还是采用先进的工具,OCR 的世界都在向您招手,它承诺将图像转化为可操作的文本、简化数据录入并提高可访问性。有了这些新发现的知识,您就可以踏上将视觉和数字领域完美融合的旅程。

开始学习 IronOCR 访问以下网站 链接.要查看有关如何从图像中提取文本的完整教程,请访问 这里.

如果您今天想免费试用 IronOCR,请务必选择加入 试用期 提供,在商业环境中探索其所有用途和潜力,不带水印。如果想在 15 天期限结束后继续使用,只需购买一张 许可证.

< 前一页
如何将书写内容扫描成文本(初学者教程)
下一步 >
如何在C#中扫描为可编辑文本

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 2,319,721 查看许可证 >