IRONSOFTWAREHOME

Jak zdefiniować konkretny obszar OCR obrazu w języku C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Aby wydobyć tekst z określonego obszaru obrazu w C#, użyj obiektu Rectangle IronOCR, aby zdefiniować dokładny obszar, określając współrzędne y, width i height, a następnie przekaż go do metody LoadImage do ukierunkowanego przetwarzania OCR.

Szybki start: Wyodrębnianie tekstu z określonego obszaru obrazu
  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    using IronOcr;
    using IronSoftware.Drawing;
    
    // 1. Install IronOCR via NuGet: Install-Package IronOcr
    var ocr = new IronTesseract();
    using var input = new OcrInput();
    
    // 2. Create a Rectangle with coordinates
    var region = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);
    
    // 3. Load image with region
    input.LoadImage("image.png", region);
    
    // 4. Extract text
    var result = ocr.Read(input);
    Console.WriteLine(result.Text);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

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

Często wystarczy wyodrębnić tekst z niewielkiej części obrazu, np. całkowitą kwotę z faktury lub konkretne pole z formularza. Skanowanie całego dokumentu jest nieefektywne i może wprowadzać błędy poprzez przechwytywanie nieistotnego tekstu.

IronOCR pozwala poprawić precyzję, wydajność i dokładność poprzez określenie dokładnego prostokątnego obszaru do skanowania. Ten przewodnik zawiera szczegółową instrukcję, jak zdefiniować konkretny obszar OCR, wyodrębnić z niego tekst i wizualnie sprawdzić, czy współrzędne są prawidłowe dla zadań OCR.

Rozpocznij pracę z IronOCR


Jak przeprowadzić OCR w określonym obszarze?

Aby zdefiniować określony region OCR, tworzysz obiekt Rectangle z przestrzeni nazw IronSoftware.Drawing. Ten obiekt wymaga czterech wartości: współrzędnej x, współrzędnej y, width i height, wszystkie w pikselach. Współrzędne (x, y) reprezentują górny lewy róg żądanego obszaru.

Gdy ładujesz swój obraz za pomocą LoadImage, przekazujesz ten Rectangle jako drugi parametr. Następnie IronOCR ograniczy proces OCR wyłącznie do pikseli znajdujących się w tym polu ograniczającym.

Regionalne OCR jest szczególnie przydatne podczas pracy z dokumentami ustrukturyzowanymi, takimi jak faktury, zeskanowane formularze lub dokumenty tożsamości, w których określone informacje zawsze pojawiają się w przewidywalnych miejscach. Ograniczając działanie OCR tylko do istotnych obszarów, można znacznie poprawić szybkość przetwarzania i zmniejszyć liczbę fałszywych wyników wynikających z niepowiązanego tekstu.

Aby znaleźć współrzędne dla swojego Rectangle, możesz użyć prostego edytora obrazów, jak MS Paint. Otwórz swój obraz wejściowy, najedź myszą na górny lewy i dolny prawy róg określonego regionu i zanotuj współrzędne pikseli (x, y). Możesz wtedy obliczyć właściwości prostokąta: (x1, y1, width, height), gdzie width = x1 oraz height = y1.

Jakiego obrazu powinienem użyć do testów?

Wykorzystamy przykładowy obrazek zawierający trzy akapity. Naszym celem jest wyodrębnienie tylko drugiego akapitu i pominięcie pozostałej części tekstu. Jest to typowy scenariusz, w którym konieczne jest wyodrębnienie określonych pól lub sekcji z większego dokumentu.

Okno terminala wyświetlające wyniki OCR z nagłówkiem "Hello World" i wyodrębnionym tekstem o księgarni

Jak zaimplementować regionalne OCR w kodzie?

Implementacja obejmuje stworzenie obiektu OcrInput i załadowanie obrazu ze wskazanym regionem prostokątnym. To podejście działa z różnymi formatami obrazów, w tym JPG, PNG, GIF, TIFF i BMP.

using IronOcr;
using IronSoftware.Drawing;
using System;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define the specific region as a Rectangle
// (x, y) is the top-left corner.
var ContentArea = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);

ocrInput.LoadImage("region-input.png", ContentArea);

var ocrResult = ocrTesseract.Read(ocrInput);

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

W przypadku bardziej złożonych scenariuszy można zdefiniować wiele regionów w obrębie tego samego obrazu. Jest to szczególnie przydatne podczas przetwarzania formularzy zawierających wiele pól lub tabel w dokumentach:

using IronOcr;
using IronSoftware.Drawing;

var ocr = new IronTesseract();

// Define multiple regions for different form fields
var nameField = new Rectangle(x: 100, y: 200, width: 300, height: 50);
var dateField = new Rectangle(x: 100, y: 300, width: 200, height: 50);
var amountField = new Rectangle(x: 400, y: 500, width: 150, height: 50);

// Load the same image with a separate OcrInput per region
OcrResult nameResult;
using (var input = new OcrInput())
{
    input.LoadImage("form.png", nameField);
    nameResult = ocr.Read(input);
}

OcrResult dateResult;
using (var input = new OcrInput())
{
    input.LoadImage("form.png", dateField);
    dateResult = ocr.Read(input);
}

OcrResult amountResult;
using (var input = new OcrInput())
{
    input.LoadImage("form.png", amountField);
    amountResult = ocr.Read(input);
}

// Process each field separately
Console.WriteLine($"Name: {nameResult.Text}");
Console.WriteLine($"Date: {dateResult.Text}");
Console.WriteLine($"Amount: {amountResult.Text}");
C#

Jakich rezultatów mogę się spodziewać?

Jak widać na wyjściu konsoli, OCR przetwarza tylko drugi akapit. Takie ukierunkowane podejście gwarantuje, że nieistotny tekst z innych części obrazu nie wpłynie negatywnie na wyniki.

Wynik OCR

Dokładność regionalnego OCR zależy od kilku czynników:

  • Jakość obrazu: Obrazy o wyższej rozdzielczości zazwyczaj dają lepsze wyniki. Rozważ użycie ustawień DPI w celu optymalizacji obrazów.
  • Orientacja tekstu: Upewnij się, że tekst jest prawidłowo wyrównany. W razie potrzeby należy zastosować wykrywanie obrotu strony.
  • Kontrast i przejrzystość: zastosuj filtry korekcji obrazu, aby poprawić czytelność tekstu.

Jak mogę sprawdzić, czy moje współrzędne są poprawne?

Aby upewnić się, że wybrałeś właściwe współrzędne dla obrazu wejściowego, możesz wyświetlić zdefiniowany obszar ContentArea. Prostym sposobem na to jest narysowanie prostokąta na obrazie wejściowym i zapisanie go jako nowy plik z StampCropRectangleAndSaveAs. Pomaga to w debugowaniu i precyzyjnym dostosowywaniu współrzędnych w celu uzyskania optymalnej wydajności.

Ta technika wizualizacji jest szczególnie pomocna podczas pracy ze złożonymi układami lub gdy trzeba wyróżnić określone obszary tekstu w celu zapewnienia jakości.

Oto obraz wyjściowy po narysowaniu określonego prostokąta ograniczającego na naszym przykładowym obrazie wejściowym z powyższego przykładu.

Jak wyświetlić wybrany region?

using IronOcr;
using IronSoftware.Drawing;

var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();

// Define the specific rectangular area to scan within the image.
// The coordinates are in pixels: (x, y) is the top-left corner of the rectangle.
var ContentArea = new Rectangle(x: 4, y: 59, width: 365, height: 26);

ocrInput.LoadImage("region-input.png", ContentArea);

var ocrResult = ocrTesseract.Read(ocrInput);

// Draws the rectangle from above in a blue bounding box on the image for visualization.
ocrInput.StampCropRectangleAndSaveAs(ContentArea, Color.Aqua, "region-input.png");

Jak wygląda wizualizacja?

Wynik z zaznaczonymi fragmentami OCR

Jasnoniebieski prostokąt potwierdza, że poprawnie wyodrębniliśmy drugi akapit do przetworzenia.

Kiedy należy stosować regionalne OCR?

Regionalne OCR idealnie sprawdza się w kilku typowych sytuacjach:

  1. Przetwarzanie formularzy: podczas wyodrębniania określonych pól ze standardowych formularzy, w których dane pojawiają się w stałych miejscach.
  2. Przetwarzanie faktur: Wyodrębnianie określonych wartości, takich jak sumy, daty lub numery faktur, bez przetwarzania całego dokumentu.
  3. Tablice rejestracyjne: Podczas rozpoznawania tablic rejestracyjnych należy skupić się wyłącznie na obszarze tablicy.
  4. Dokumenty tożsamości: Wyodrębnianie określonych pól z paszportów lub dowodów osobistych.
  5. Zrzuty ekranu: Podczas przechwytywania tekstu z określonych elementów interfejsu użytkownika na zrzutach ekranu.

Najlepsze praktyki dotyczące regionalnego OCR

Aby uzyskać optymalne wyniki przy użyciu regionalnego OCR:

  1. Dodaj odstępy: Dodaj niewielki margines wokół tekstu, aby żadne znaki nie zostały ucięte na krawędziach.
  2. Przetestuj na przykładowych obrazach: Zawsze weryfikuj współrzędne na reprezentatywnych próbkach przed przetwarzaniem dużych partii.
  3. Postępowanie z różnicami: Należy uwzględnić niewielkie różnice w położeniu elementów w zeskanowanych dokumentach, tworząc obszary nieco większe niż to konieczne.
  4. Optymalizacja wydajności: W przypadku przetwarzania wielowątkowego należy przetwarzać różne regiony równolegle.
  5. Monitoruj pewność: Sprawdź wyniki pewności, aby upewnić się co do dokładności.

Skupiając przetwarzanie OCR na określonych obszarach, można znacznie poprawić zarówno szybkość, jak i dokładność zadań związanych z ekstrakcją tekstu. To ukierunkowane podejście jest niezbędne do tworzenia wydajnych procesów przetwarzania dokumentów w aplikacjach .NET.

Często Zadawane Pytania

Jak wyekstraktować tekst tylko z określonej części obrazu w C#?

Za pomocą IronOCR można wyekstraktować tekst z określonego regionu poprzez utworzenie obiektu Rectangle z wartościami współrzędnych x/y, szerokości i wysokości. Przekaż ten prostokąt jako drugi parametr do metody LoadImage, a IronOCR ograniczy przetwarzanie OCR tylko do zdefiniowanego obszaru.

Jakie są zalety definiowania regionu OCR zamiast skanowania całego obrazu?

Definiowanie określonego regionu OCR za pomocą IronOCR pozwala na zwiększenie szybkości przetwarzania, zwiększenie dokładności oraz redukcję błędów związanych z przechwytywaniem nieistotnego tekstu. Jest to szczególnie przydatne dla strukturalnych dokumentów, gdzie informacje pojawiają się w przewidywalnych lokalizacjach.

Jakie parametry są potrzebne do utworzenia prostokąta dla regionalnego OCR?

Aby utworzyć prostokąt dla regionalnego OCR w IronOCR, potrzebne są cztery wartości w pikselach: współrzędna x, współrzędna y, szerokość i wysokość. Współrzędne (x, y) reprezentują lewy górny róg pożądanego obszaru skanowania.

W jakiej przestrzeni nazw znajduje się obiekt Rectangle dla regionów OCR?

Obiekt Rectangle używany do definiowania regionów OCR w IronOCR znajduje się w przestrzeni nazw IronSoftware.Drawing.

Jakie typy dokumentów najbardziej zyskują na przetwarzaniu za pomocą regionalnego OCR?

Regionalne OCR w IronOCR jest szczególnie skuteczne dla strukturalnych dokumentów, takich jak faktury, zeskanowane formularze i dokumenty tożsamości, gdzie określone informacje systematycznie pojawiają się w tych samych miejscach.

Is it possible to visualize the OCR region on the input image?

Yes, you can visualize the OCR region by using the `StampCropRectangleAndSaveAs` method to draw the specified rectangle on the input image, aiding in coordinate verification.

For what applications is regional OCR particularly useful?

Regional OCR is useful for form processing, invoice scanning, license plate recognition, identity document analysis, and extracting text from UI elements in screenshots.

What are some best practices for using regional OCR in document processing?

Best practices include adding padding around text, testing with sample images, handling slight document variations, optimizing performance with multithreading, and monitoring result confidence scores.

How can I improve the accuracy of IronOCR's regional scanning?

Improve accuracy by using high-resolution images, ensuring proper text orientation, applying contrast and clarity filters, and verifying the targeted region visually.

Can IronOCR be used with different image formats?

Yes, IronOCR supports various image formats including JPG, PNG, GIF, TIFF, and BMP, making it versatile for different scanning and processing needs.

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ęczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 6,236,385Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i szukaj „IronOCR”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz Instalator Windows tutaj.

  1. Pobierz i rozpakuj IronOCR do lokalizacji, takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem myszy Odwołania. Wybierz Przeglądaj, „IronOCR.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta