跳過到頁腳內容
OCR 工具

如何將圖片轉換為文本

在當前的數位時代,將基於圖像的內容轉換為易於閱讀、可編輯、可搜索的文字至關重要。 這在如檔案館存檔紙質文件、從圖像中提取關鍵信息或將印刷材料數字化的場景中特別重要。 光學字符識別(OCR)技術提供了一種自動化此轉換過程的解決方案。 一個非常可靠且高效的工具是IronOCR,這是一個強大的 .NET OCR 庫。

本文將解釋如何使用IronOCR將圖片轉換為文字,並探討此轉換如何節省時間、減少錯誤以及簡化數據提取、存檔和文件處理等過程。

如何將圖片轉換為文字

  1. 下載一個用於 OCR 操作的 C# 庫
  2. 創建一個新的 IronTesseract 實例
  3. 使用 OcrImageInput 加載您的圖像
  4. 使用 OcrRead 讀取圖像的內容
  5. 將 OCR 結果導出到文本文件

為什麼要將圖片轉換為文字?

將圖片轉換為文字有很多原因,包括:

  • 數據提取:從掃描文檔和圖像中提取文字以進行存檔或數據處理。
  • 編輯掃描內容:編輯或更新先前掃描文檔中的文字,節省手動重新輸入內容的時間。
  • 改善可訪問性:將印刷材料轉換為數位文本,使其可被螢幕閱讀器或文本轉語音應用訪問。
  • 自動化:通過從發票、收據或名片中讀取文字來自動化數據輸入和處理。

如何開始將圖片轉換成文字

在探索如何利用 IronOCR 強大的圖像轉文本功能從圖像中提取文字之前,我們首先看看使用線上工具Docsumo的一般步驟。 由於不需要任何手動設置,線上 OCR 工具對於那些想要進行臨時甚至單次 OCR 任務的人來說是一個很好的選擇。當然,如果您需要定期執行 OCR 任務,則擁有一個強大的 OCR 工具如 IronOCR 可能更適合您。

  1. 導航到線上 OCR 工具
  2. 上傳您的圖片並開始提取過程
  3. 將結果數據下載成文本文件

第一步:導航到線上 OCR 工具

要開始利用 OCR 技術從圖像文件中提取文字,首先導航到我們想要使用的線上圖片 OCR 工具。

如何將圖片轉換成文字:圖1 - Docsumo OCR 工具

第二步:上傳您的圖片並開始提取過程

現在,通過點擊“上傳文件”按鈕,我們可以上傳我們想從中提取文本的圖像文件。 工具將立即開始處理圖片。

如何將圖片轉換成文字:圖2 - Docsumo - 文件處理

第三步:將結果數據下載為文本文檔

現在圖片已經完成處理,我們可以將提取的文本下載為新的文本文檔,以便進一步使用或操作。

如何將圖片轉換成文字:圖3 - Docsumo - 圖片處理完成

您還可以查看文件,突出顯示各個部分以查看其中包含的文本。 如果您只想查看某些部分的文本,這可能特別有用。 然後,您仍然可以將文本作為文本文件、XLS 或 JSON 下載。

如何將圖片轉換成文字:圖4

開始使用 IronOCR

IronOCR是一個多功能的 .NET 庫,可讓您對圖像執行 OCR 操作。 IronOCR 提供廣泛的功能,可以處理多種文件格式(如 PNG、JPEG、TIFF 和 PDF),執行圖像矯正,掃描專業文件(護照、車牌等),提供有關掃描文件的高級資訊,轉換掃描文檔,並突出顯示文本。

安裝 IronOCR 庫

在您開始使用 IronOCR 讀取圖像之前,需要先安裝它(如果您尚未在專案中安裝)。 您可以在 Visual Studio 中使用 NuGet 輕鬆安裝 IronOCR。 打開 NuGet Package Manager Console 並運行以下命令:

Install-Package IronOcr

或者,可以通過在解決方案頁面上的 NuGet 包管理器中搜索 IronOCR 來安裝 IronOCR。

如何將圖片轉換成文字:圖5

要在您的代碼中使用 IronOCR,請確保在代碼頂部有正確的導入語句:

using IronOcr;
using IronOcr;
Imports IronOcr
$vbLabelText   $csharpLabel

圖像轉文字:基本示例

首先,我們來看看使用 IronOCR 進行圖像轉文字的一個基本示例。 這是任何 OCR 工具的核心功能,對於這個例子,我們將使用我們用於線上工具的 PNG 文件。 在此示例中,我們首先實例化了 IronTesseract 類並將其賦值給變量 ocr。 然後,我們使用 OcrImageInput 類從提供的圖像文件創建一個新的 OcrImageInput 對象。 最後,Read 方法用於從圖像中讀取文本並返回一個 OcrResult 對象。 我們然後可以訪問提取的文本並使用 ocrResult.Text 將其顯示到控制台。

using IronOcr;

IronTesseract ocr = new IronTesseract();

// Load the image from which to extract text
using OcrImageInput image = new OcrImageInput("example.png");

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Output the extracted text to the console
Console.WriteLine(ocrResult.Text);
using IronOcr;

IronTesseract ocr = new IronTesseract();

// Load the image from which to extract text
using OcrImageInput image = new OcrImageInput("example.png");

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Output the extracted text to the console
Console.WriteLine(ocrResult.Text);
Imports IronOcr

Private ocr As New IronTesseract()

' Load the image from which to extract text
Private OcrImageInput As using

' Perform OCR to extract text
Private ocrResult As OcrResult = ocr.Read(image)

' Output the extracted text to the console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

輸出圖片

如何將圖片轉換成文字:圖6

處理不同的圖片格式

IronOCR 支援多種影像格式,如 PNG、JPEG、BMP、GIF 及 TIFF。 從不同圖片格式讀取文字的過程保持不變,您只需加載具有正確擴展名的文件即可。

using IronOcr;

IronTesseract ocr = new IronTesseract();

// Load a BMP image
using OcrImageInput image = new OcrImageInput("example.bmp");

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Output the extracted text to the console
Console.WriteLine(ocrResult.Text);
using IronOcr;

IronTesseract ocr = new IronTesseract();

// Load a BMP image
using OcrImageInput image = new OcrImageInput("example.bmp");

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Output the extracted text to the console
Console.WriteLine(ocrResult.Text);
Imports IronOcr

Private ocr As New IronTesseract()

' Load a BMP image
Private OcrImageInput As using

' Perform OCR to extract text
Private ocrResult As OcrResult = ocr.Read(image)

' Output the extracted text to the console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

提升 OCR 的準確性

通過優化圖片及配置選項如語言、圖片解析度及圖片中的噪聲級別來提升 OCR 性能。 以下是如何微調 OCR 以提高圖片品質需要改善的圖像之文字提取準確性,通過使用DeNoise()Sharpen() 方法

using IronOcr;

IronTesseract ocr = new IronTesseract();

// Load the image and apply image processing to improve accuracy
using OcrImageInput image = new OcrImageInput("example.png");
image.DeNoise();
image.Sharpen();

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Output the extracted text to the console
Console.WriteLine(ocrResult.Text);
using IronOcr;

IronTesseract ocr = new IronTesseract();

// Load the image and apply image processing to improve accuracy
using OcrImageInput image = new OcrImageInput("example.png");
image.DeNoise();
image.Sharpen();

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Output the extracted text to the console
Console.WriteLine(ocrResult.Text);
Imports IronOcr

Private ocr As New IronTesseract()

' Load the image and apply image processing to improve accuracy
Private OcrImageInput As using
image.DeNoise()
image.Sharpen()

' Perform OCR to extract text
Dim ocrResult As OcrResult = ocr.Read(image)

' Output the extracted text to the console
Console.WriteLine(ocrResult.Text)
$vbLabelText   $csharpLabel

匯出提取的文本

既然我們了解了圖片轉文字過程的基本知識,現在讓我們看看如何匯出結果文本以供以後使用。 對於這個示例,我們將使用與以前相同的過程來加載圖像並掃描它。 然後,使用File.WriteAllText("output.txt", ocrResult.Text),我們創建了一個名為output.txt的新文本文件並將提取的文本保存到該文件。

using IronOcr;
using System.IO;

IronTesseract ocr = new IronTesseract();

// Load the image
using OcrImageInput image = new OcrImageInput("example.png");

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Save the extracted text to a file
File.WriteAllText("output.txt", ocrResult.Text);
using IronOcr;
using System.IO;

IronTesseract ocr = new IronTesseract();

// Load the image
using OcrImageInput image = new OcrImageInput("example.png");

// Perform OCR to extract text
OcrResult ocrResult = ocr.Read(image);

// Save the extracted text to a file
File.WriteAllText("output.txt", ocrResult.Text);
Imports IronOcr
Imports System.IO

Private ocr As New IronTesseract()

' Load the image
Private OcrImageInput As using

' Perform OCR to extract text
Private ocrResult As OcrResult = ocr.Read(image)

' Save the extracted text to a file
File.WriteAllText("output.txt", ocrResult.Text)
$vbLabelText   $csharpLabel

如何將圖片轉換成文字:圖7

IronOCR 的主要特點

  1. 高準確性: IronOCR 使用先進的 Tesseract OCR 算法並包含內建工具處理複雜圖片,確保高準確性。
  2. 多語言支援: 支援125+種語言,包括多種書寫體系如拉丁、斯拉夫、阿拉伯及亞洲字符。 不過需要注意的是,隨著 IronOCR 安裝的只有英語。 要使用其他語言,您需要為該語言安裝其他語言包。
  3. PDF OCR: IronOCR 可從掃描的 PDF中提取文字,使其成為文檔數字化的重要工具。
  4. Image Cleanup: It provides pre-processing tools such as de-skewing, noise removal, and inversion to improve image quality for better OCR accuracy.
  5. 輕鬆集成: API 無縫集成到任何 .NET 項目中,不論是控制台應用、網頁應用或桌面軟件。

將圖片轉換為文字的常見使用案例

  • 自動化數據輸入:公司可以使用 OCR 自動從表單、收據或名片中提取數據。
  • 文件存檔:組織可以將實體文件數字化,使之可搜索且更易存儲。
  • 可訪問性:將印刷豑料轉換成文字供屏幕閱讀器或其他輔助技術使用。
  • 研究與分析:快速將掃描的研究材料轉換成文本以便分析或集成到其他軟件工具中。
  • 學習:將掃描的學習筆記轉換成可編輯的文本,然後可以保存為 Word 文檔以便在 IronWord、微軟 Word 或谷歌文檔等工具中進一步操作。

結論

使用 IronOCR 從圖像中提取文字是一種快速、準確且高效的處理文檔任務的方法。 無論是處理掃描文獻、數字圖像還是 PDF 文件,IronOCR 簡化了過程,提供高準確性、多語言支持和強大的圖像處理工具。 此工具非常適合希望簡化其文檔管理工作流程的企業、自動化數據提取或增強可訪問性。

使用免費試用親自體驗 IronOCR 的強大功能。 您只需花幾分鐘即可在您工作區內完全運行,可以立即開始處理 OCR 任務!

Kannaopat Udonpant
軟體工程師
在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。