Jak używać obrazów wejściowych do przetwarzania OCR w języku C#

Jak odczytywać obrazy w języku C# za pomocą IronOCR

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

IronOCR wyodrębnia tekst z obrazów w formatach JPG, PNG, GIF, TIFF i BMP, używając technologii optycznego rozpoznawania znaków. Podstawowe wyodrębnianie tekstu wymaga zaledwie jednej linii kodu po zainstalowaniu pakietu NuGet.

Technologia OCR (Optical Character Recognition) rozpoznaje i wyodrębnia tekst z obrazów. Digitalizuje dokumenty drukowane poprzez wyodrębnianie treści tekstowej ze zeskanowanych stron, zdjęć lub innych plików graficznych. IronOCR wykorzystuje zaawansowane algorytmy uczenia maszynowego z Tesseract 5 w połączeniu z autorskim przetwarzaniem wstępnym obrazów, zapewniając wiodącą w branży dokładność.

Biblioteka obsługuje formaty jpg, png, gif, tiff i bmp. Filtry obrazów poprawiają czytelność poprzez automatyczną korektę typowych problemów związanych z jakością. IronOCR łączy Tesseract 5 z zaawansowanym przetwarzaniem wstępnym, aby zapewnić dokładne wyniki w przypadku obrazów o różnej jakości i w różnych formatach, od skanów o wysokiej rozdzielczości po skompresowane obrazy internetowe.

Szybki start: Odczyt pliku obrazu za pomocą IronOCR

Wyodrębnij tekst z obrazu za pomocą jednej linii kodu. Ten przykład wczytuje obraz i odczytuje jego tekst, używając metody Read na IronTesseract. Biblioteka automatycznie zajmuje się wstępnym przetwarzaniem obrazów i wyodrębnianiem tekstu.

  1. Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr
  2. Skopiuj i uruchom ten fragment kodu.

    var result = new IronTesseract().Read(new OcrImageInput("Potter.png"));
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak odczytywać obrazy za pomocą IronOCR?

Rozpocznij od zainicjowania klasy IronTesseract. Użyj instrukcji 'using', aby utworzyć obiekt OcrImageInput z ścieżką do pliku obrazu. Zapewnia to właściwą utylizację zasobów. IronOCR obsługuje formaty jpg, png, gif, tiff i bmp. Wykonaj OCR za pomocą metody Read. Biblioteka automatycznie wykrywa format obrazu i stosuje odpowiednie przetwarzanie wstępne.

Nowi użytkownicy powinni zapoznać się z instrukcją instalacji dla systemu Windows lub sprawdzić opcje pakietów NuGet. W przypadku programowania wieloplatformowego sprawdź konfigurację systemu Linux lub instalację systemu macOS.

Zwróć uwagę
Począwszy od wersji 2025.6:

  • Ładowanie obrazów TIFF zapewnia teraz konsekwentnie wyższą wydajność.
  • Odczytywanie obrazów TIFF wykazuje poprawę wydajności zależną od procesora graficznego komputera. Niektórzy użytkownicy mogą odczuć nawet dwukrotny wzrost szybkości, podczas gdy inni mogą zauważyć wydajność podobną do poprzednich wersji
    )}]
/* :path=/static-assets/ocr/content-code-examples/how-to/input-images-read.cs */
using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("Potter.png");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Display the extracted text
Console.WriteLine(ocrResult.Text);

// Get confidence level
double confidence = ocrResult.Confidence;
Console.WriteLine($"Confidence: {confidence}%");
/* :path=/static-assets/ocr/content-code-examples/how-to/input-images-read.cs */
using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("Potter.png");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Display the extracted text
Console.WriteLine(ocrResult.Text);

// Get confidence level
double confidence = ocrResult.Confidence;
Console.WriteLine($"Confidence: {confidence}%");
Imports IronOcr

' Instantiate IronTesseract
Dim ocrTesseract As New IronTesseract()

' Add image
Using imageInput As New OcrImageInput("Potter.png")
    ' Perform OCR
    Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

    ' Display the extracted text
    Console.WriteLine(ocrResult.Text)

    ' Get confidence level
    Dim confidence As Double = ocrResult.Confidence
    Console.WriteLine($"Confidence: {confidence}%")
End Using
$vbLabelText   $csharpLabel
Demo ekstrakcji tekstu IronOCR: obraz strony z Harrym Potterem przekonwertowany na zwykły tekst w edytorze kodu

Odwiedź stronę Jak odczytywać pliki GIF i TIFF z wieloma klatkami/stronami, aby dowiedzieć się, jak odczytywać obrazy TIFF i GIF. W przypadku wielu stron zapoznaj się z przykładem przetwarzania wielostronicowych plików TIFF.

Dlaczego poziom pewności ma znaczenie?

Poziom pewności wskazuje stopień pewności IronOCR co do dokładności wyodrębnionego tekstu. Wyniki powyżej 85% zazwyczaj wskazują na wiarygodność tłumaczenia. Niższe oceny mogą wymagać wstępnego przetworzenia obrazu lub ręcznej weryfikacji. Wykorzystaj wskaźniki pewności, aby automatycznie oznaczyć dokumenty do weryfikacji przez człowieka lub uruchomić dodatkowe filtry optymalizacji obrazów.

Kiedy należy używać różnych formatów obrazów?

Formaty PNG i TIFF zapewniają najlepsze wyniki OCR dzięki bezstratnej kompresji. W przypadku dokumentów jednostronicowych należy używać formatu PNG, a w przypadku skanów wielostronicowych — formatu TIFF. Format JPEG sprawdza się dobrze w przypadku zdjęć, ale może powodować powstawanie artefaktów kompresji. Format BMP zapewnia nieskompresowaną jakość, ale pliki mają większy rozmiar. Format GIF nadaje się do prostych grafik o ograniczonej palecie kolorów. Dowiedz się więcej o optymalizacji pod kątem konkretnego formatu.

Jakie są typowe błędy odczytu obrazów?

Typowe błędy to niska rozdzielczość obrazu (poniżej 200 DPI), przekrzywiony tekst, słaby kontrast lub brak obsługi niektórych języków. IronOCR zapewnia automatyczną korektę wielu błędów, ale poważniejsze problemy mogą wymagać ręcznego przetworzenia wstępnego. Rozwiązania znajdziesz w naszym przewodniku dotyczącym rozwiązywania problemów.

Jak mogę importować obrazy jako bajty?

Klasa OcrImageInput akceptuje obrazy jako ścieżki do plików, bajty, AnyBitmap, strumienie lub obiekty Image. AnyBitmap to obiekt bitmapy z IronSoftware.Drawing.AnyBitmap. Ta elastyczność umożliwia płynną integrację z różnymi źródłami danych, w tym bazami danych, interfejsami API sieci Web i pamięcią masową w chmurze.

Ta elastyczność jest pomocna podczas pracy z obrazami z baz danych, usług internetowych lub strumieni pamięci. W przypadku zaawansowanego przetwarzania strumieniowego zobacz OCR ze strumieniami wejściowymi. Przewodnik po integracji z System.Drawing zawiera dodatkowe przykłady dotyczące zgodności ze starszym kodem.

:path=/static-assets/ocr/content-code-examples/how-to/input-images-import-byte.cs
using IronOcr;
using System.IO;

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

// Read byte from file
byte[] data = File.ReadAllBytes("Potter.tiff");

// Import image byte
using var imageInput = new OcrImageInput(data);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Imports IronOcr
Imports System.IO

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Read byte from file
Private data() As Byte = File.ReadAllBytes("Potter.tiff")

' Import image byte
Private imageInput = New OcrImageInput(data)
' Perform OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)
$vbLabelText   $csharpLabel

Kiedy należy używać tablic bajtów zamiast ścieżek do plików?

Tablice bajtów sprawdzają się najlepiej, gdy obrazy pochodzą z baz danych, usług internetowych lub zaszyfrowanych źródeł. Zapewniają one większe bezpieczeństwo, ponieważ pliki nie wymagają tymczasowego przechowywania na dysku. Używaj tablic bajtów w aplikacjach chmurowych, mikrousługach lub podczas przetwarzania poufnych dokumentów. Ścieżki plików pozostają bardziej wydajne w przypadku lokalnego przetwarzania wsadowego dużych zbiorów obrazów.

using IronOcr;
using IronSoftware.Drawing;
using System.IO;

// Method 1: From URL
var imageFromUrl = AnyBitmap.FromUri("https://example.com/document.jpg");
using var urlInput = new OcrImageInput(imageFromUrl);

// Method 2: From Stream
using var fileStream = File.OpenRead("document.png");
using var streamInput = new OcrImageInput(fileStream);

// Method 3: From System.Drawing (with IronSoftware.Drawing)
var bitmap = AnyBitmap.FromFile("scan.bmp");
using var bitmapInput = new OcrImageInput(bitmap);

// Process any of these inputs
IronTesseract ocr = new IronTesseract();
OcrResult result = ocr.Read(bitmapInput);
using IronOcr;
using IronSoftware.Drawing;
using System.IO;

// Method 1: From URL
var imageFromUrl = AnyBitmap.FromUri("https://example.com/document.jpg");
using var urlInput = new OcrImageInput(imageFromUrl);

// Method 2: From Stream
using var fileStream = File.OpenRead("document.png");
using var streamInput = new OcrImageInput(fileStream);

// Method 3: From System.Drawing (with IronSoftware.Drawing)
var bitmap = AnyBitmap.FromFile("scan.bmp");
using var bitmapInput = new OcrImageInput(bitmap);

// Process any of these inputs
IronTesseract ocr = new IronTesseract();
OcrResult result = ocr.Read(bitmapInput);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System.IO

' Method 1: From URL
Dim imageFromUrl = AnyBitmap.FromUri("https://example.com/document.jpg")
Using urlInput As New OcrImageInput(imageFromUrl)

    ' Method 2: From Stream
    Using fileStream As FileStream = File.OpenRead("document.png")
        Using streamInput As New OcrImageInput(fileStream)

            ' Method 3: From System.Drawing (with IronSoftware.Drawing)
            Dim bitmap = AnyBitmap.FromFile("scan.bmp")
            Using bitmapInput As New OcrImageInput(bitmap)

                ' Process any of these inputs
                Dim ocr As New IronTesseract()
                Dim result As OcrResult = ocr.Read(bitmapInput)

            End Using
        End Using
    End Using
End Using
$vbLabelText   $csharpLabel

Dlaczego zarządzanie pamięcią ma znaczenie dla bajtów obrazu?

Duże obrazy zajmują dużo pamięci, zwłaszcza podczas jednoczesnego przetwarzania wielu dokumentów. Użycie instrukcji "using" zapewnia prawidłowe zwolnienie zasobów. W przypadku przetwarzania wsadowego warto rozważyć wdrożenie systemu kolejkowego z ograniczoną liczbą operacji wykonywanych jednocześnie. Przewodnik po wielowątkowości przedstawia techniki efektywnego zarządzania pamięcią.

Jaki wpływ na wydajność mają różne typy danych wejściowych?

Ścieżki do plików zapewniają najwyższą wydajność w przypadku plików lokalnych, ponieważ IronOCR odczytuje dane bezpośrednio. Tablice bajtów wymagają załadowania całych obrazów do pamięci, ale zapewniają elastyczność. Strumienie równoważą wykorzystanie pamięci i wydajność poprzez stopniowe odczytywanie danych. Aby uzyskać optymalną wydajność przy dużych partiach, zapoznaj się z naszym przewodnikiem po optymalizacji wydajności.

Jak określić obszar skanowania?

Podaj CropRectangle przy tworzeniu OcrImageInput, aby określić region obrazu do przetworzenia. Ograniczenie obszaru skanowania znacznie poprawia wydajność. Poniższy przykład zawiera jedynie numer rozdziału i tytuł. Technika ta skraca czas przetwarzania nawet o 90% w przypadku konkretnych obszarów dokumentu.

W przypadku złożonych układów lub wielu regionów zobacz sekcję Region OCR obrazu. W przewodniku po obszarach treści wyjaśniono zaawansowane techniki wyboru regionów.

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

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

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

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", 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()

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

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

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

Dlaczego określenie regionów poprawia wydajność?

Przetwarzanie tylko istotnych obszarów obrazu zmniejsza obciążenie obliczeniowe o 60–90%. Silniki OCR analizują każdy piksel w obszarze wejściowym, więc mniejsze obszary oznaczają szybsze przetwarzanie. Takie podejście poprawia również dokładność, eliminując potencjalne zakłócenia wynikające z nagłówków, stopek lub elementów dekoracyjnych poza obszarem tekstu docelowego.

Demonstracja obszaru skanowania OCR z czerwonymi prostokątami zaznaczającymi tytuł rozdziału ósmego zarówno na obrazie źródłowym, jak i w wynikach debugowania

Kiedy należy używać wielu obszarów skanowania?

W przypadku dokumentów zawierających odrębne obszary tekstowe, takie jak formularze, faktury lub układy wielokolumnowe, należy zastosować wiele regionów. Każdy region należy przetłumaczyć osobno, aby zachować logiczny przebieg tekstu. To podejście sprawdza się dobrze przy wyciąganiu danych z tabel lub odczytywaniu określonych pól ze strukturowanych dokumentów.

Jakie są konwencje dotyczące układów współrzędnych?

IronOCR wykorzystuje standardowe współrzędne pikselowe z punktem początkowym (0,0) w lewym górnym rogu. Oś X rośnie w prawo, oś Y rośnie w dół. Parametry prostokąta to (X, Y, szerokość, wysokość). Aby precyzyjnie zaznaczyć obszar, użyj narzędzi do edycji obrazów w celu zidentyfikowania współrzędnych pikseli lub zaimplementuj wizualny selektor obszarów w swojej aplikacji.

Jak mogę zastosować zaawansowane przetwarzanie obrazu?

IronOCR zapewnia kompleksowe możliwości przetwarzania wstępnego obrazów w celu zwiększenia dokładności OCR. W przypadku obrazów o niskiej jakości, zeskanowanych dokumentów lub trudnych warunków należy zastosować filtry. Kreator filtrów pomaga określić optymalne kombinacje filtrów dla konkretnych obrazów.

using IronOcr;

IronTesseract ocr = new IronTesseract();

using var input = new OcrImageInput("low-quality-scan.jpg");

// Apply image enhancement filters
input.Deskew();  // Correct image rotation
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white
input.EnhanceResolution(300); // Adjust DPI for better accuracy

// Configure for better accuracy
ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
ocr.Configuration.Language = OcrLanguage.English;

OcrResult result = ocr.Read(input);
using IronOcr;

IronTesseract ocr = new IronTesseract();

using var input = new OcrImageInput("low-quality-scan.jpg");

// Apply image enhancement filters
input.Deskew();  // Correct image rotation
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white
input.EnhanceResolution(300); // Adjust DPI for better accuracy

// Configure for better accuracy
ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
ocr.Configuration.Language = OcrLanguage.English;

OcrResult result = ocr.Read(input);
Imports IronOcr

Dim ocr As New IronTesseract()

Using input As New OcrImageInput("low-quality-scan.jpg")
    ' Apply image enhancement filters
    input.Deskew()  ' Correct image rotation
    input.DeNoise() ' Remove background noise
    input.Binarize() ' Convert to black and white
    input.EnhanceResolution(300) ' Adjust DPI for better accuracy

    ' Configure for better accuracy
    ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    ocr.Configuration.Language = OcrLanguage.English

    Dim result As OcrResult = ocr.Read(input)
End Using
$vbLabelText   $csharpLabel

Dowiedz się więcej o filtrach optymalizacji obrazów i poprawianiu skanów o niskiej jakości. W przypadku konieczności korekty kolorów zapoznaj się z przewodnikiem po korekcji kolorów obrazów.

Kiedy należy zastosować filtry przetwarzania wstępnego obrazów?

W przypadku dokumentów zeskanowanych, zdjęć tekstu lub obrazów o niskiej jakości należy zastosować filtry. Typowe scenariusze obejmują korygowanie przekrzywionych stron, usuwanie szumów tła z fotokopii lub poprawianie wyblakłego tekstu. Przewodnik po ustawieniach DPI pomaga zoptymalizować kwestie związane z rozdzielczością.

Dlaczego kolejność filtrów ma znaczenie?

Sekwencja filtrów ma znaczący wpływ na wyniki. Najpierw zastosuj korekcję obrotu (Deskew), następnie usuń szum, a na końcu zwiększ kontrast. Binaryzacja powinna zazwyczaj następować na końcu. Nieprawidłowa kolejność może spotęgować problemy – na przykład wyostrzanie przed usuwaniem szumów zwiększa widoczność szumów. Wypróbuj różne kolejności, aby uzyskać optymalne wyniki.

Jakie są typowe błędy związane z przetwarzaniem wstępnym?

Najczęstszym błędem jest nadmierne przetwarzanie. Nadmierne wyostrzanie powoduje powstawanie artefaktów, agresywne usuwanie szumów powoduje utratę drobnych szczegółów tekstu, a niewłaściwe progi binarizacji powodują utratę informacji. Zacznij od minimalnego przetwarzania wstępnego i dodawaj filtry tylko wtedy, gdy jest to konieczne. Przewodnik dotyczący korekty jakości obrazu zawiera szczegółowe najlepsze praktyki.

Jak mogę zoptymalizować wydajność?

Podczas przetwarzania wielu obrazów lub dużych partii należy wziąć pod uwagę następujące optymalizacje:

  1. Ponowne użycie instancji IronTesseract: Utwórz jedną instancję dla wielu operacji
  2. Określ obszary skanowania: Ogranicz OCR do odpowiednich obszarów obrazu, aby uzyskać 60–90% wzrost wydajności
  3. Używaj odpowiednich formatów obrazów: PNG i TIFF dają lepsze wyniki niż JPEG
  4. Stosuj przetwarzanie wstępne selektywnie: używaj filtrów tylko wtedy, gdy jest to konieczne
  5. Wdrożenie przetwarzania równoległego: Wykorzystanie wielordzeniowych procesorów do operacji wsadowych

W przypadku scenariuszy wymagających wysokiej wydajności zapoznaj się z przewodnikiem po wielowątkowości oraz konfiguracją szybkiego OCR. Funkcja śledzenia postępów pomaga monitorować długotrwałe operacje.

Dlaczego ponowne wykorzystanie instancji poprawia wydajność?

Inicjalizacja IronTesseract ładuje dane językowe i konfiguruje silnik OCR, zajmując 200-500ms. Ponowne wykorzystanie instancji eliminuje ten nakład pracy w kolejnych operacjach. Utwórz instancję singletonową dla aplikacji internetowych lub instancję współdzieloną do przetwarzania wsadowego, aby zmaksymalizować wydajność.

Kiedy należy stosować przetwarzanie równoległe?

Przetwarzanie równoległe sprawdza się w scenariuszach z wieloma niezależnymi obrazami. Przetwarzaj różne strony lub dokumenty jednocześnie, ale unikaj równoległego przetwarzania operacji na tym samym obrazie. Nowoczesne procesory skutecznie obsługują 4–8 równoczesnych operacji OCR. Należy monitorować zużycie pamięci, ponieważ każda operacja wymaga 100–500 MB w zależności od rozmiaru obrazu.

Jakie są kwestie związane z wykorzystaniem pamięci?

Operacje OCR zazwyczaj wymagają w pamięci RAM 10–20-krotności rozmiaru pliku obrazu. Obraz o rozmiarze 5 MB może zużyć 50–100 MB podczas przetwarzania. W przypadku dużych partii należy wdrożyć wzorzec producent-konsument z ograniczoną liczbą operacji wykonywanych jednocześnie. Przykład tokenu przerwania ilustruje anulowanie operacji wymagających dużej ilości pamięci.

Jakie są kolejne kroki?

Wykorzystaj poniższe zasoby, aby wyodrębnić tekst z bardziej złożonych scenariuszy:

Często Zadawane Pytania

Jakie formaty obrazow mozna odczytac w celu wyodrebnienia tekstu w C#?

IronOCR obsluguje odczytywanie tekstu z obrazow JPG, PNG, GIF, TIFF i BMP. Biblioteka automatycznie wykrywa format obrazu i stosuje odpowiednie przetwarzanie wstepne dla optymalnych wynikow wyodrebniania tekstu.

Jak wyodrebnic tekst z pliku obrazu przy uzyciu jednej linii kodu?

Tekst mozna wyodrebnic za pomoca jednej linii uzywajac IronOCR: `var result = new IronTesseract().Read(new OcrImageInput("image.png"));`. Automatycznie zarzadza to przetwarzaniem wstepnym obrazu i wyodrebnianiem tekstu uzywajac technologii OCR Tesseract 5.

Jaka technologia OCR jest uzywana do odczytu obrazow?

IronOCR laczy zaawansowane algorytmy uczenia maszynowego Tesseract 5 z opatentowanym przetwarzaniem wstepnym obrazu. To polaczenie zapewnia wiodaca w branzy dokladnosc w odniesieniu do roznych jakosci i formatow obrazow, od skanow w wysokiej rozdzielczosci po skompresowane obrazy internetowe.

Jak prawidlowo zarzadzac zasobami podczas odczytywania obrazow?

Uzyj instrukcji 'using', tworzac obiekt OcrImageInput, aby zapewnic prawidlowa utylizacje zasobow. Ten wzorzec automatycznie zarzadza pamiecia i uchwytami plikow: `using var ocrInput = new OcrImageInput("image.jpg");`

Czy moge odczytac konkretne obszary obrazu zamiast calego pliku?

Tak, IronOCR pozwala okreslic obszary przyciecia, aby zdefiniowac konkretne obszary do odczytu w obrębie obrazu. Ta funkcja pomaga koncentrowac przetwarzanie OCR na odpowiednich czesciach obrazu, co poprawia wydajnosc i dokladnosc.

Jakie przetwarzanie wstepne jest automatycznie stosowane do obrazow?

IronOCR automatycznie stosuje filtry obrazu, które poprawiaja zdolnosc odczytu poprzez korygowanie powszechnych problemow z jakoscia. Biblioteka obsluguje wykrywanie formatu i przetwarzanie wstepne bez potrzeby recznej konfiguracji dla podstawowych przypadkow uzycia.

Czy sa jakieś ulepszenia wydajnosci przetwarzania obrazow TIFF?

Od wersji 2025.6 IronOCR, ladowanie obrazow TIFF zapewnia stale szybsza wydajnosc. Odczytywanie obrazow TIFF wykazuje ulepszenia, które zaleza od mozliwosci GPU maszyny, a niektorzy uzytkownicy doswiadczaja do dwukrotnie wyzszej predkosci niz w poprzednich wersjach.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Sprawdzone przez
Jeff Fritz
Jeffrey T. Fritz
Główny Menedżer Programu - Zespół .NET Community
Jeff jest również Głównym Menedżerem Programu dla zespołów .NET i Visual Studio. Jest producentem wykonawczym wirtualnej serii konferencji .NET Conf i prowadzi 'Fritz and Friends', transmisję na żywo dla deweloperów emitowaną dwa razy w tygodniu, gdzie rozmawia o technologii i pisze kod razem z widzami. Jeff pisze warsztaty, prezentacje i planuje treści dla największych wydarzeń Microsoft dla deweloperów, w tym Microsoft Build, Microsoft Ignite, .NET Conf i Microsoft MVP Summit.
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 5,571,678 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronOcr
uruchom próbkę obserwuj, jak twój obraz staje się tekstem z możliwością wyszukiwania.