OCR 工具

如何在 Python 中建立 OCR

Kannaopat Udonpant
坎納帕特·烏頓潘
2023年11月22日
分享:

世界充斥著大量的文字信息。 如果某些寶貴的內容能夠更容易取得,那將會非常有用。

這就是光學字符識別(OCR)技術派上用場的地方。 想像一臺電腦能像人類一樣從圖片中「讀取」文字,這就是計算機視覺,它是計算機科學的一個分支,我們可以訓練電腦識別和辨認圖片中的不同主題。

在本教程中,我們將指導您使用以簡單和多功能性著稱的編程語言 Python 構建您自己的 OCR 系統的過程。 在 Tesseract、IronOCR 和 OpenCV 等庫的幫助下,您很快就能發揮提取、操作和處理文檔圖像中文本的潛力。

光學字符識別 (OCR) 引擎的先決條件

在我們深入構建我們的OCR系統之前,您需要準備以下幾件事情:

  1. Python:請確保您的電腦上已安裝 Python。 您可以從Python 官方網站下載。

  2. 安裝 Tesseract OCR:Tesseract OCR 是由 Google 開發的開源 OCR 引擎。 這是我們在專案中將使用的強大工具。 您可以從GitHub下載 Tesseract 庫,並閱讀關於 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 – 一項尖端技術,使開發者能輕鬆將強大的光學字符識別(OCR)功能整合到他們的應用程式中。

無論您是在從掃描文件中提取數據、自動化數據輸入,還是增強可訪問性,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
$vbLabelText   $csharpLabel

輸出

如何在 Python 中構建 OCR:圖 4

結論

在本教程中,我們探索了在 Python 中構建光學字符識別 (OCR) 系統的過程,揭示了輕鬆從圖像中提取文本的能力。

通過利用像 Tesseract 和 OpenCV 這樣的函式庫,我們已經完成了關鍵步驟,從載入和預處理圖像到使用 Tesseract OCR 引擎進行文字提取。

我們還提到了潛在的挑戰,例如準確性限制,這些是像 IronOCR 這樣的高級解決方案旨在解決的問題。

無論您選擇 DIY 方法還是採用先進的工具,OCR 的世界都充滿了將圖像轉換為可操作文本的潛力,簡化數據輸入並提高可及性。 擁有這些新知識後,您準備展開一段無縫融合視覺與數位領域的旅程。

要開始使用IronOCR,請造訪以下連結。 欲查看如何從圖像中提取文本的完整教程,請造訪此處

如果您今天想免費試用 IronOCR,請務必選擇 IronOCR 提供的試用版,以便在商業環境中探索其所有用途和潛力,且無浮水印。 若要在 15 天結束後繼續使用,只需購買 授權

Kannaopat Udonpant
坎納帕特·烏頓潘
軟體工程師
在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat 也成為了車輛機器人實驗室的成員,該實驗室隸屬於生物生產工程學系。2022 年,他利用自己的 C# 技能,加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。Kannapat 珍視這份工作,因為他可以直接向負責撰寫大部分 IronPDF 程式碼的開發人員學習。除了同儕學習外,Kannapat 還享受在 Iron Software 工作的社交方面。當他不在撰寫程式碼或文件時,Kannapat 通常會在 PS5 上玩遊戲或重看《最後生還者》。
< 上一頁
阿拉伯文文字識別工具:提高準確性
下一個 >
如何在 C# 中掃描為可編輯文字