Birden Çok Görüntüyü Aspose.OCR FOSS for .NET ile Toplu İşleme

Birden Çok Görüntüyü Aspose.OCR FOSS for .NET ile Toplu İşleme

Aspose.OCR FOSS for .NET bir Recognize() çağrısında birkaç görüntüyü tanıyabilir. Bu kılavuz, tek bir OcrInput üzerinde birden çok dosyayı kuyruğa eklemeyi ve sonuçlarını sırayla geri okumayı gösterir.

Adım Adım Kılavuz

Adım 1: Paketi Kurun

dotnet add package Aspose.OCR.FOSS

Adım 2: Bir OcrInput İçine Birden Çok Dosya Ekle

Aynı OcrInput içine eklenen tüm dosyalar aynı InputType değerini paylaşmalıdır. Dosyalar sıralı olarak işlenir ve eklendikleri sıraya göre geri döndürülür.

using Aspose.OCR;

var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("page-1.jpg");
input.Add("page-2.png");

Adım 3: Sonuçları Tanı ve Sırayla Oku

Tüm toplu işlem için AsposeOcr.Recognize() bir kez çağır, ardından OcrOutput‘ı indeksle yineleyerek her sonucu, geldiği dosyayla eşleştir.

OcrOutput output = api.Recognize(input);

for (int index = 0; index < output.Count; index++)
{
    Console.WriteLine($"Image {index + 1}");
    Console.WriteLine(output[index].RecognitionText);
}

OcrOutput, OcrInput.Add() çağrıldığı sırada her görüntü için bir giriş içeren sıralı bir RecognitionResult listesidir.


Adım 4: Bunun yerine Çok Sayfalı PDF’i Toplu İşle

Aynı toplu iş modeli bir PDF’ye de uygulanır: InputType.PDF ile OcrInput oluştur, bir PDF yolu ekle ve Recognize(), sayfa sırasına göre sayfa başına bir RecognitionResult döndürür.

using var pdfInput = new OcrInput(InputType.PDF);
pdfInput.Add("multi-page-document.pdf");
OcrOutput pages = api.Recognize(pdfInput);
Console.WriteLine($"Pages recognized: {pages.Count}");

Yaygın Sorunlar ve Çözümler

Mixing InputType.SingleImage and InputType.PDF tek bir yolda OcrInput. Desteklenmiyor — her OcrInput tek bir öğe ile oluşturulur InputType ve yalnızca o türdeki dosyaları kabul eder. İki ayrı OcrInput instances (ve iki Recognize() calls) aynı anda hem görüntüleri hem de PDF’leri işlemek istiyorsanız.

Sonuçlar sırasız görünür. Böyle olmamalı — OcrOutput tam sıralamayı korur OcrInput.Add() çağrıldı. Dosyalar yeniden sıralanmış görünüyorsa, çağıran kodun onları çağırmadan önce istenen sıraya eklediğini kontrol edin Recognize().

Tek bir hatalı dosya tüm partiği başarısız kılar. Recognize() her kuyruğa alınan yolu, herhangi bir model çıkarımı çalıştırmadan önce doğrular; eğer herhangi bir yol mevcut değilse, tüm çağrı bir istisna fırlatır FileNotFoundException tek bir dosyayı atlamak yerine. Büyük bir partiden kısmi sonuçların kabul edilebilir olması durumunda, önce yolları kendiniz doğrulayın.

Sıkça Sorulan Sorular

Toplu işleme dosyaları paralel olarak çalıştırıyor mu?

Hayır. Dosyalar ve PDF sayfaları sıralı olarak işlenir — API düzeyinde bir giriş çoklu iş parçacığı yoktur. Microsoft.ML.OnnxRuntime, yalnızca her bireysel çıkarım çağrısı içinde işi paralelleştirir.

Bir OcrInput kaç dosya tutabilir konusunda bir sınırlama var mı?

Genel API sabit bir sınır belgelendirmiyor; OcrInput.Add() sadece bir yolu kuyruğa ekler. Çok büyük partiler tek dosya başına işlenir, bu yüzden verimlilik doğrusal olarak ölçeklenir, paralel olarak değil.

Aynı AsposeOcr örneğini birden fazla partide yeniden kullanabilir miyim?

Evet — AsposeOcr kendisi per-çağrı durumu tutmaz; her toplu işlem için yeni bir OcrInput oluşturmak ve aynı AsposeOcr örneği üzerinde Recognize() çağırmak normal bir desendir.

Ayrıca Bakınız

 Türkçe