如何從流中讀取

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

查克尼思·賓

串流數據指的是可以讀取或寫入的連續二進制信息流。在程式設計和資料處理的上下文中,串流被用來高效地處理可能太大以至於無法完全裝入記憶體的資料。串流允許資料以較小的、可管理的塊進行讀取或寫入。

IronOCR 的匯入方法也接受要匯入和讀取的圖像數據串流。這可以通過簡單地將串流數據傳入其中一個匯入方法來完成。該方法將處理匯入圖像所需的所有步驟。


C# NuGet 程式庫用于 OCR

安裝與 NuGet

Install-Package IronOcr
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 OCR

安裝與 NuGet

Install-Package IronOcr
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronOCRNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變OCR。

C# NuGet 程式庫用于 OCR nuget.org/packages/IronOcr/
Install-Package IronOcr

請考慮安裝 IronOCR DLL 直接下載並手動安裝到您的專案或GAC表單: IronOcr.zip

手動安裝到您的項目中

下載DLL

讀取流範例

首先,實例化 IronTesseract 類別以執行 OCR。使用 AnyBitmap 的 FromFile 方法匯入圖像檔案。這個 AnyBitmap 物件能夠將圖像數據轉換成流。接下來,使用 using 語句通過 AnyBitmap 物件的 GetStream 方法傳遞圖像流來創建 OcrImageInput 物件。最後,使用 Read 方法進行 OCR。

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

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Import image stream
using var imageInput = new OcrImageInput(anyBitmap.GetStream());
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports IronSoftware.Drawing

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

' Import image stream
Private imageInput = New OcrImageInput(anyBitmap.GetStream())
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
VB   C#

指定掃描區域

為了在大圖像上提升性能並從特定區域獲取讀數,您可以使用 CropRectangle 類別。OcrImageInput 建構函數接受一個 CropRectangle 物件作為第二個參數。這允許您指定應讀取的圖像文檔區域。在下面的代碼範例中,我指定只讀取章節號碼和標題區域。

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

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Read image file to AnyBitmap
AnyBitmap anyBitmap = AnyBitmap.FromFile("Potter.tiff");

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput(anyBitmap.GetStream(), ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output the result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read image file to AnyBitmap
Private anyBitmap As AnyBitmap = AnyBitmap.FromFile("Potter.tiff")

' Specify crop region
Private scanRegion As New Rectangle(800, 200, 900, 400)

' Add image
Private imageInput = New OcrImageInput(anyBitmap.GetStream(), ContentArea:= scanRegion)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

' Output the result to console
Console.WriteLine(ocrResult.Text)
VB   C#

OCR結果

讀取特定區域

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。