如何使用IronOCR在 C# 中讀取照片

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

IronOCR 的 ReadPhoto 方法可從 TIFF 和 GIF 等複雜照片格式中提取文本,提供帶有文本區域和置信度分數的結構化結果,針對需要精確 OCR 處理的高質量掃描文件進行了優化。

處理大量文檔,特別是像 TIFF 文件這樣的掃描圖像時,手動提取文字既費時又容易出錯。 光學字元辨識(OCR)技術可自動完成此流程,將影像中的文字轉換為數位資料。 OCR技術可以處理掃描文件和照片等複雜影像,將其轉換為可搜尋、可編輯的文字。 這可以加快文件處理速度,並確保資料提取的準確性。

使用 OCR 對TIFF 和 GIF等格式的資料進行識別,可以快速實現大量資料的數位化,即使這些資料在大小、色彩深度或壓縮方面存在挑戰。 借助 IronOCR 的 ReadPhoto 功能,開發人員可以從圖像中提取文本,並執行高級操作,例如關鍵字搜尋或將掃描資料轉換為可搜尋的 PDF。 這項技術有利於處理法律文件、檔案或收據的行業,在這些行業中,高效的資料檢索至關重要。

本教學示範如何使用 ReadPhoto 和操作 results 物件。 我們將討論何時使用 ReadPhoto 而不是IronOCR的標準 Read 。 對於一般的影像處理,請探索讀取各種影像格式

若要使用此功能,請安裝IronOCR軟體套件。

快速入門:使用 ReadPhoto 從複雜圖像中提取文字

快速上手:使用 IronOCR 的 ReadPhoto 方法,在加載了圖像幀的 OcrInput 上提取所有文字和區域。 它針對 TIFF、GIF 和類似圖片格式進行了最佳化。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronOcr

    PM > Install-Package IronOcr
  2. 複製並運行這段程式碼。

    var result = new IronTesseract().ReadPhoto(new OcrInput().LoadImageFrame("photo.tiff", 0));
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronOCR

    arrow pointer

如何使用 ReadPhoto 從 TIFF 圖像中提取文字?

使用IronOCR讀取 TIFF 和 GIF 等高品質照片格式非常簡單。 首先,建立一個 OcrInput 變量,並使用 LoadImageFrame 載入圖片。 然後使用 ReadPhoto 方法取得結果。 多頁 TIFF OCR 教學提供了更多多頁文件範例。

請注意

  • TIFF 檔案包含多個幀; 使用從零開始的索引時,需要使用 PageNumber 參數。
  • 該方法目前支援英語、中文、日語、韓語和拉丁字母。
  • 在.NET Framework上使用進階掃描需要 x64 架構。

我應該使用哪種輸入格式?

由於瀏覽器本身不支援 TIFF 格式,請在此下載 TIFF 輸入檔。 下面顯示的版本已轉換為 WEBP 格式。

Input

如何實作 ReadPhoto 方法?

此實作示範如何從 TIFF 影像中提取文字和區域資訊。 更多範例請參見我們的照片讀取程式碼範例

:path=/static-assets/ocr/content-code-examples/how-to/read-photo-read-photo.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("ocr.tiff", 0);

// Read photo
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);

// Index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;

// Extract the text in the first region
string textinregion = result.TextRegions[0].TextInRegion;

//Extract the co_ordinates of the first text region
Rectangle region = result.TextRegions[0].Region;

var output = $"Text in First Region: {textinregion}\n"
             + $"Text Region:\n"
             + $"Starting X: {region.X}\n"
             + $"Starting Y: {region.Y}\n"
             + $"Region Width: {region.Width}\n"
             + $"Region Height: {region.Height}\n"
             + $"Result Confidence: {result.Confidence}\n\n"
             + $"Full Scnned Photo Text: {result.Text}";

Console.WriteLine(output);
$vbLabelText   $csharpLabel

OcrPhotoResult 提供哪些屬性?

調試輸出顯示從處理後的圖像中提取的 OCR 文本,包括電話號碼、坐標和置信度評分

OcrPhotoResult 類別提供了分析擷取文字的關鍵屬性。 有關處理 OCR 結果的詳細信息,請參閱我們的資料輸出和結果處理指南。

Text : 從 OCR 輸入中提取的文字。
Confidence : 統計準確度信賴度(0-1 等級,1 為最高)。 了解更多關於結果置信度評分的資訊
TextRegions : 包含位置資料的文字區域清單。 類似於定義用於目標提取的 OCR 區域


什麼時候應該使用 ReadPhoto 而不是 Read?

ReadPhoto 與標準 Read 的主要差異在於 result 物件和支援的檔案格式。 LoadImageFrame 明確接受 TIFF 和 GIF 格式,不接受 JPEG 等格式。 ReadPhoto 針對複雜的圖像格式進行了優化,而標準的 Read 則適用於更簡單的圖像和一般的文本提取任務

為什麼 ReadPhoto 只支援 TIFF 和 GIF 格式?

TIFF是一種無損格式,可以將多個頁面和訊框壓縮到一個檔案中。它常用於高品質、多影像的存儲,例如法律文件和醫學影像。 由於它比 JPEG 更複雜,因此需要不同的文字擷取方法。 特殊的處理方式可確保以專業級影像格式獲得最佳效果。

TIFF 影像使用不同的壓縮方法,因此IronOCR採用專門的演算法來破解文字。 ReadPhoto 中的先進演算法能夠處理 TIFF 壓縮特性,確保從複雜的多層文件中準確提取。

以下是TIFF和JPEG格式的比較:

特徵 TIFF(帶標籤的圖像檔案格式) JPG/JPEG(聯合影像專家小組)
壓縮 無損或未壓縮(保持音質) 有損壓縮(以降低品質為代價減少檔案大小)
文件大小 大號(由於品質高且可選無壓縮) 體積更小,針對網頁使用進行了最佳化,載入速度更快
影像品質 高品質(非常適合專業用途,保留所有細節) 較低(因有損壓縮,部分音質有所損失)
色彩深度 支援高色彩深度(每聲道最高可達 16 位元或 32 位元) 24 位元色彩(1670 萬種顏色)
用例 專業攝影、出版、掃描、存檔 網路圖片、社群媒體、日常照片
透明度 支援透明度和 Alpha 通道 **不**支援透明度
編輯 適合多次編輯(重新儲存不會損失品質) 反覆編輯和保存會導致品質下降。
相容性 專業軟體廣泛支持 在所有平台和裝置上通用
卡通 不支援動畫 不支援動畫
元數據 儲存大量元資料(EXIF、圖層等) 儲存 EXIF 元數據,但功能較為有限。

我該如何選擇 ReadPhoto 還是 Read 來用於我的應用程式?

考慮每種生產使用場景,以優化應用程式效能。 雖然 ReadPhoto 適用於複雜的 TIFF 影像,但其處理速度較慢。 JPEG 格式處理速度更快,但品質較低,這可能會導致 OCR 置信度較低。 必要時使用影像品質校正濾鏡來改善效果。

confidence 屬性位於 OcrPhotoResults 或任何 IOcrResult 介面類別中,用於指示結果精度,方便開發人員進行測試和最佳化。對於精度要求最高的應用,使用高品質 TIFF 影像的 ReadPhoto 可提供最佳結果,尤其適用於對精度要求極高的檔案或法律文件處理。

透過確保影像達到一定的品質閾值,在效率和準確性之間找到平衡。 對於混合文件類型,實作混合方法:對需要高精度的關鍵文件使用 ReadPhoto,對優先考慮速度的常規任務使用標準 Read

常見問題解答

ReadPhoto 方法支持什么图像格式?

IronOCR 的 ReadPhoto 方法針對 TIFF 和 GIF 等複雜照片格式進行了最佳化。它專門用於從高品質的掃描文件和照片中萃取文字,提供具有文字區域和置信度分數的結構化結果。

如何從 TIFF 影像中萃取文字?

若要使用 IronOCR 從 TIFF 影像中萃取文字,請建立一個 OcrInput 變數,使用 LoadImageFrame 載入影像,然後應用 ReadPhoto 方法。過程簡單直接:var result = new IronTesseract().ReadPhoto(new OcrInput().LoadImageFrame("photo.tiff", 0));

使用 ReadPhoto 功能需要哪些額外套件?

要在 IronOCR 中使用 ReadPhoto 功能,您需要從 NuGet 安裝 IronOcr.Extension.AdvancedScan 套件。此擴充套件提供 ReadPhoto 方法所需的進階掃描功能。

何時應該使用 ReadPhoto 來取代標準的 Read 方法?

在處理 TIFF 和 GIF 等複雜照片格式時,請使用 IronOCR 的 ReadPhoto 方法,特別是需要進行精確 OCR 處理的高品質掃描文件。標準的 Read 方法更適合一般的影像處理工作。

ReadPhoto 能提供什麼樣的結果?

IronOCR 的 ReadPhoto 方法可提供結構化的 OCR 結果,其中包括擷取的文字區域與置信度分數。您可以透過 OcrPhotoResult 屬性存取這些結果,以檢視和處理擷取的資料。

ReadPhoto 可以處理多頁文件嗎?

是的,IronOCR 的 ReadPhoto 方法可以處理多頁文件,尤其是經常包含多個畫格的 TIFF 檔案。LoadImageFrame 方法允許您指定在多頁文件中處理哪一格。

哪些產業可從使用 OCR 技術處理照片中獲益?

IronOCR 可讓處理法律文件、檔案、收據的行業,以及任何處理大量掃描文件的企業獲益,在這些行業中,高效率的資料檢索至關重要。ReadPhoto 方法可自動從這些複雜的影像格式中提取文字。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 5,525,971 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronOcr
執行範例 觀看您的圖片變成可搜尋的文字。