如何使用IronOCR在C#中讀取照片
IronOCR的ReadPhoto方法從複雜的照片格式(如TIFF和GIF)中提取文字,提供帶有文字區域和置信分數的結構化結果,為需要精確OCR處理的高品質掃描文件進行優化。
在處理大量文件時,特別是如TIFF文件這樣的掃描圖像,手動提取文字會變得耗時且容易出錯。 光學字元識別(OCR)自動化了這個過程,將圖像中的文字轉換為數位資料。 OCR技術處理如掃描文件和照片這樣的複雜圖像,將它們轉為可搜尋、可編輯的文字。 這加速了文件處理,並保證資料提取的準確性。
在格式如TIFF和GIF上使用OCR,可以快速數位化大量資料,儘管其大小、顏色深度或壓縮可能帶來挑戰。 利用IronOCR的ReadPhoto功能,開發者可以從圖像中提取文字並執行高級操作,如關鍵字搜尋或將掃描資料轉換為可搜尋的PDF。 這項技術對於處理法律文件、檔案或收據等需要高效資料檢索的行業有利。
本教程示範了如何使用results物件。 我們將討論何時應使用Read。 對於一般的圖像處理,可探索讀取各種圖像格式。
要使用此功能,安裝IronOcr.Extension.AdvancedScan包。
快速入門:使用ReadPhoto從複雜圖像中提取文字
快速入門:使用IronOCR的OcrInput進行載入圖像幀以提取所有文字和區域。 它針對TIFF、GIF和類似的照片格式進行了優化。
最小工作流程(5步)
- 下載用於讀取照片的C#程式庫
- 導入圖像進行處理
- 根據圖像型別使用相應的導入方法
- 使用
ReadPhoto方法從圖像中提取資料 - 存取OcrPhotoResult屬性以查看和操作提取的資料
如何使用ReadPhoto從TIFF圖像中提取文字?
使用IronOCR讀取高質量的照片格式,如TIFF和GIF是很直接的。 首先,建立一個LoadImageFrame載入圖像。 然後使用ReadPhoto方法獲取結果。 多頁TIFF OCR教程提供其他多頁文件範例。
- TIFF包含多個幀; 需要使用零基索引的
PageNumber參數。 - 該方法目前支持英語、中文、日語、韓語和拉丁字母。
- 在.NET Framework上使用高級掃描需要x64架構。
)}]
我應使用哪種輸入格式?
由於瀏覽器不原生支持TIFF格式,請在此下載TIFF輸入 下面顯示的版本已轉換為WEBP。

如何實現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);
Imports Microsoft.VisualBasic
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
' Instantiate OCR engine
Private ocr = New IronTesseract()
Private inputPhoto = New OcrInput()
inputPhoto.LoadImageFrame("ocr.tiff", 0)
' Read photo
Dim result As OcrPhotoResult = ocr.ReadPhoto(inputPhoto)
' Index number refer to region order in the page
Dim number As Integer = result.TextRegions(0).PageNumber
' Extract the text in the first region
Dim textinregion As String = result.TextRegions(0).TextInRegion
'Extract the co_ordinates of the first text region
Dim region As Rectangle = result.TextRegions(0).Region
Dim output = $"Text in First Region: {textinregion}" & vbLf & $"Text Region:" & vbLf & $"Starting X: {region.X}" & vbLf & $"Starting Y: {region.Y}" & vbLf & $"Region Width: {region.Width}" & vbLf & $"Region Height: {region.Height}" & vbLf & $"Result Confidence: {result.Confidence}" & vbLf & vbLf & $"Full Scnned Photo Text: {result.Text}"
Console.WriteLine(output)
OcrPhotoResult提供哪些屬性?

OcrPhotoResult類提供分析提取文字的關鍵屬性。 有關操作OCR結果的詳細資訊,請參見我們的資料輸出和結果操作指南。
Text:OCR輸入提取的文字。
Confidence:統計準確性置信度(0-1範圍,1為最高)。 了解更多有關結果置信分數。
TextRegions:帶有定位資料的文字區域列表。 類似於為目標提取定義OCR區域。
何時應使用Read?
result物件和支持的文件格式。 LoadImageFrame專門接受TIFF和GIF,不接受JPEG等格式。 Read適用於簡單圖像和一般文字提取任務。
為什麼ReadPhoto僅支持TIFF和GIF格式?
TIFF是一種無損格式,用於將多個頁面和幀壓縮到一個文件中。它用於高質量的多圖像儲存,如法律文件和醫療圖像。 因為比JPEG更複雜,所以需要不同的方法來提取文字。 專業的處理確保專業級圖像格式下的最佳結果。
TIFF圖像使用不同的壓縮方法,因此IronOCR採用專門的算法解讀文字。 ReadPhoto中的先進算法處理TIFF壓縮特性,確保從複雜的多層文件中準確提取內容。
這是TIFF和JPEG格式之間的比較:
| 特徵 | TIFF(標籤圖像文件格式) | JPG/JPEG(聯合圖像專家組) |
|---|---|---|
| 壓縮 | 無損或未壓縮(保留質量) | 有損壓縮(減少質量以換取更小的文件大小) |
| 文件大小 | 大(因高質量和可選的無壓縮) | 較小,優化用於網頁使用和快速載入 |
| 圖像質量 | 高(適合專業使用,保留所有細節) | 較低(由於有損壓縮,犧牲了一些質量) |
| 色彩深度 | 支持高色彩深度(每通道最高達16位或32位) | 24位色彩(1670萬色) |
| 使用案例 | 專業攝影、出版、掃描、存檔 | 網頁圖片、社交媒體、日常照片 |
| 透明度 | 支持透明度和Alpha通道 | 不支持透明度 |
| 編輯 | 適合多次編輯(重新儲存無損質量) | 重複編輯和保存時,質量會下降 |
| 相容性 | 廣泛支持的專業軟體 | 在所有平臺和裝置上普遍支持 |
| 動畫 | 不支持動畫 | 不支持動畫 |
| 元資料 | 儲存大量元資料(EXIF、層等) | 儲存EXIF元資料但更有限 |
應如何為我的應用程式選擇Read?
考慮每個生產用途案例以優化應用程式性能。 ReadPhoto適用於復雜的TIFF圖像,但處理速度較慢。 JPEG提供更快的處理速度,但質量較低,這可能導致OCR置信度低。 需要時使用圖像質量校正過濾器來改善結果。
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這類複雜的照片格式時,尤其是需要準確OCR處理的高質量掃描文件時,使用IronOCR的ReadPhoto方法。標準的Read方法更適合用於一般的圖像處理任務。
ReadPhoto提供什麼樣的結果?
IronOCR的ReadPhoto方法提供結構化的OCR結果,包括帶有信心水準的提取文字區域。您可以通過OcrPhotoResult屬性來存取這些資料以查看和操作。
ReadPhoto可以處理多頁文件嗎?
是的,IronOCR的ReadPhoto方法可以處理多頁文件,特別是TIFF文件通常包含多個幀。LoadImageFrame方法允許您指定在多頁文件中要處理的幀。
使用OCR技術處理照片對哪些行業有利?
IronOCR為處理法律文件、檔案、收據以及任何需要高效資料檢索的大量掃描文件的行業提供了助益。ReadPhoto方法自動從這些複雜的圖像格式中提取文字。
使用IronOCR進行文件管理的好處是什麼?
使用IronOCR進行文件管理通過將掃描的文件轉換為可搜索和可編輯的文字來簡化工作流程,減少手動資料輸入的需求並提高文件的可存取性。
IronOCR如何提高資料精確性?
IronOCR通過其先進的識別算法和影像校正功能提高資料精確性,確保文字提取過程既可靠又精確。
IronOCR有免費試用版嗎?
有的,Iron Software提供IronOCR的免費試用版,允許使用者在做出購買決定前測試其功能和能力。

