IRONSOFTWAREHOME

Jak naprawić kolory obrazu do odczytu w C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Napraw kolory obrazu w C# używając metod binarizacji, skali szarości, inwersji oraz zamiany kolorów IronOCR, aby poprawić czytelność tekstu i dokładność OCR. Odczytaj specyficzne kolory tekstu dla ukierunkowanej ekstrakcji.

Szybki start: Izoluj specjalne kolory tekstu

Uzyj metody SelectTextColor z IronOCR, aby skoncentrowac OCR na okreslonych kolorach tekstu—nie jest wymagana skomplikowana manipulacja obrazem. Załaduj obraz, wybierz kolor tekstu i tolerancję, a następnie wyciągnij tylko ten tekst dla dokładnych wyników OCR.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    new IronTesseract().Read(new IronOcr.OcrImageInput("sample.jpg").SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60));
    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

Jak zbinarizować obraz, aby poprawić OCR?

Binarizacja konwertuje obrazy do formatu dwukolorowego, zazwyczaj czarno-białego. Dzięki temu oddziela tekst od tła oraz redukuje szumy, co sprawia, że tekst jest bardziej wyrazisty i łatwiejszy do odczytu.

Dlaczego binarizacja poprawia dokładność OCR?

Zastosuj binaryzacje, uzywajac metody Binarize. OCR działa najlepiej z obrazami o wysokim kontraście, które mają czarny tekst na białym tle. Ta metoda tworzy wyraźne rozgraniczenie między tłem a znakami.

Binarizacja doskonale sprawdza się w przypadku skanowanych dokumentów mających nierówne oświetlenie lub szumy tła. Algorytm analizuje obrazy i określa optymalne progi dla oddzielenia tekstu na pierwszym planie od tła. Dla zaawansowanych technik przetwarzania wstępnego zobacz Przewodnik Optymalizacji Obrazów OCR.

Jaka jest implementacja kodu dla binarizacji?

using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply binarize affect
imageInput.Binarize();

// Export the modified image
imageInput.SaveAsImages("binarize.jpg");

Do przetwarzania zbiorczego, połącz binarizację z innymi filtrami. Użyj Kreatora Filtrów, aby określić najlepszą kombinację filtrów dla swoich obrazów.

Jak mogę eksportować i porównać wyniki?

Eksportuj zmodyfikowane obrazy za pomoca metody SaveAsImages. Porównaj obrazy przed i po binarizacji poniżej.

Przykładowy obraz z czerwonym i czarnym tekstem na niebiesko-szarym tle przedstawiający wyzwania OCR przed binaryzacją
Zbinaryzowana wersja pokazująca wyraźny czarny tekst na czysto białym tle dla optymalnego przetwarzania OCR

Jak konwertować obrazy na skalę szarości dla lepszego czytania?

Konwertowanie obrazów na skalę szarości redukuje wizualny chaos i poprawia czytelność. To pomaga, gdy oryginalne kolory odrywają uwagę od treści.

Kiedy powinienem użyć skali szarości zamiast innych metod?

Zastosuj skale szarosci, uzywajac metody ToGrayScale. Proces uśrednia wartości R, G i B.

Skala szarości dobrze działa z kolorowymi tłami lub znakami wodnymi, które zakłócają rozpoznawanie tekstu. W przeciwieństwie do binarizacji, skala szarości zachowuje detale w obrazach z subtelnymi wariantami. Użyj jej do fotografii z osadzonym tekstem lub złożonych układów. Dla skanów niskiej jakości zobacz Poprawa Skanów i Obrazów Niskiej Jakości.

Jaki jest prosty kod dla konwersji na skalę szarości?

// Apply grayscale affect
imageInput.ToGrayScale();

Dla zróżnicowanej jakości obrazów, połącz skalę szarości z innymi krokami przetwarzania wstępnego. Dokumentacja Klasa OcrInput wyjaśnia łączenie wielu filtrów.

Jak skala szarości wypada w porównaniu z oryginałem?

Przykładowy tekst z czerwonymi nagłówkami i czarnym tekstem głównym przedstawiający wiele kolorów przed konwersją do skali szarości
Dokument w skali szarości z wyraźnym tekstem o kadrze kierowniczej z branży technologicznej, demonstrujący poprawioną czytelność po konwersji

Kiedy powinienem odwracać kolory obrazu?

Odwracanie kolorów poprawia kontrast. Konwersja białego tekstu na czarnym tle na czarny tekst na białym tle poprawia czytelność.

Jak wdrożyć inwersję kolorów?

Uzyj metody Invert, aby odwrocic kolory. Przekaż wartość boolean, aby usunąć kanały kolorów i zwrócić obraz w prostych odcieniach szarości.

Inwersja kolorów radzi sobie z negatywami obrazami lub zrzutami ekranu z ciemnymi motywami. Współczesne aplikacje używają interfejsów trybu ciemnego, co stanowi wyzwanie dla tradycyjnego OCR. Odwracanie tych obrazów zapewnia optymalne rozpoznawanie. Dla różnych typów obrazów zobacz Przewodnik Konfiguracji Szybkiego OCR.

// Apply invert affect
imageInput.Invert();

Dla przetwarzania zbiorczego z mieszanymi rodzajami dokumentów, wdroż automatyczne wykrywanie ciemnego tła. Funkcje Wizji Komputerowej w IronOCR rozpoznają, kiedy potrzebna jest inwersja.

Jaka jest różnica pomiędzy opcjami inwersji?

Porownaj metode Invert z uzyciem i bez uzycia skali szarosci:

Dokument z odwróconymi kolorami zachowujący oryginalne kanały kolorów z odwróconymi wartościami
Tekst biznesowy z odwróconymi kolorami pokazujący biały tekst na ciemnym tle demonstrujący efekt inwersji kolorów

Jak mogę zastąpić konkretny kolor w obrazie?

Zamieniaj specyficzne kolory, aby podkreślić lub zminimalizować elementy. Użyj tego, aby poprawić wyrazistość tekstu lub skorygować problematyczne kontrasty.

Dlaczego tolerancja jest ważna w zamianie koloru?

Metoda ReplaceColor wymaga podania obecnego koloru, nowego koloru i wartosci tolerancji. Wyższa tolerancja lepiej radzi sobie z zamazanymi obrazami.

Tolerancja określa, jak ściśle piksele muszą pasować do koloru docelowego. Niskie wartości (0-50) pasują do jednolitych kolorów. Wyższe wartości (100-200) radzą sobie z wygładzanym tekstem lub artefaktami kompresji. To pomaga przy skanowanych dokumentach, gdzie rozmycie tuszu lub tekstura papieru tworzą wariacje.

Jak wdrożyć zamianę kolorów?

using IronOcr;

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C");
IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan;

// Replace color
imageInput.ReplaceColor(currentColor, newColor, 80);

// Export the modified image
imageInput.SaveAsImages("replaceColor");

Jak obsłużyć zaawansowane scenariusze zamiany kolorów?

Połącz wiele zamian w złożonych scenariuszach:

/* :path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-multiple-replacements.cs */
// Replace multiple colors in sequence
using var imageInput = new OcrImageInput("multi-color-document.jpg");

// Replace red text with black
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Red, IronSoftware.Drawing.Color.Black, 70);

// Replace blue headers with dark gray
imageInput.ReplaceColor(IronSoftware.Drawing.Color.Blue, IronSoftware.Drawing.Color.DarkGray, 60);

// Replace light yellow background with white
imageInput.ReplaceColor(new IronSoftware.Drawing.Color("#FFFACD"), IronSoftware.Drawing.Color.White, 40);

// Perform OCR on the cleaned image
var result = ocrTesseract.Read(imageInput);

Do zaawansowanej zamiany kolorów zobacz Filtry Korekcji Jakości Obrazu dla dodatkowych technik przetwarzania wstępnego.

Jakie są wizualne wyniki zamiany kolorów?

Próbka tekstu z pomarańczowo-czerwonymi nazwami i treścią na niebieskim tle przedstawiająca oryginalne kolory przed zamianą
Document after color replacement showing dark cyan headers replacing original orange-red text

Jak odczytać tylko określone kolory tekstu?

Odczytaj okreslone kolory tekstu, uzywajac metody SelectTextColor. Określ docelowy kolor i tolerancję (0-255). Tolerancja oznacza dopuszczalne różnice między pikselem a wybranym kolorem dla wartości R, G i B.

Jak tolerancja kolorowa wpływa na wyniki?

using IronOcr;
using System;

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

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Text color to focus on
IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C");

// Specify which text color to read
imageInput.SelectTextColor(focusColor, 60);

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

// Output result to console
Console.WriteLine(ocrResult.Text);

Użyj selektywnego odczytywania kolorów do formularzy z kolorowymi sekcjami, wyciągania podkreślonego tekstu lub odczytywania specyficznych ostrzeżeń. Dla ekstrakcji danych strukturalnych zobacz Klasa OcrResult do zaawansowanego przetwarzania.

Jaki wynik mogę oczekiwać z wyboru koloru?

Wynik OCR czyta tylko tekst w kolorze pomarańczowym:

Konsola debug pokazująca tekst pomarańczowy wyodrębniony przez OCR: MASAYOSHI SON oraz YASUMITSU SHIGETA z dokumentu biznesowego

Jak zapisać zmodyfikowane pliki PDF z zastosowanymi filtrami?

IronOCR zapisuje zmodyfikowane pliki PDF z lub bez zastosowanych filtrów. Drugi parametr metody SaveAsSearchablePdf okresla, czy zapisac z zastosowanymi filtrami.

Jaka jest implementacja dla PDF-ów wyszukiwalnych?

using IronOcr;

// Create OCR engine: filters are applied at the OcrInput level, so no configuration changes are needed here
var ocr = new IronTesseract();
var ocrInput = new OcrInput();

// Load the scanned PDF as the OCR source
ocrInput.LoadPdf("invoice.pdf");

// Convert to grayscale: removes color noise that can reduce OCR accuracy on color-printed documents
ocrInput.ToGrayScale();
// Run OCR on the preprocessed input
OcrResult result = ocr.Read(ocrInput);

// Write the searchable PDF; true = embed the grayscale-filtered image rather than the original color scan
result.SaveAsSearchablePdf("outputGrayscale.pdf", true);

Kiedy stosować filtry do zapisywanego pliku PDF?

Stosuj filtry, gdy tworzysz czystsze, bardziej czytelne dokumenty. To pomaga przy celach archiwalnych lub dzieleniu się dokumentami na różnych urządzeniach. Zobacz Tworzenie Wyszukiwalnych PDF-ów przez OCR dla więcej informacji.

Dla złożonych dokumentów z tabelami, odkryj Odczyt Tabeli w Dokumencie dla specjalizowanej ekstrakcji. Dla przetwarzania w dużej ilości, zobacz Wielowątkowy Tesseract OCR, aby zoptymalizować aplikację filtrów na wielu dokumentach.

Często Zadawane Pytania

Jak mogę naprawić słabe kolory obrazu, które wpływają na dokładność OCR?

IronOCR oferuje wiele metod korekcji kolorów, w tym binaryzację, konwersję do skali szarości, inwersję i zamianę kolorów. Te filtry pomagają poprawić czytelność tekstu, zwiększając kontrast między tekstem a tłem, co ułatwia silnikowi OCR dokładne wyodrębnianie tekstu z obrazów o niskiej jakości kolorów.

Czym jest binaryzacja i kiedy należy jej używać do OCR?

Binarization konwertuje obrazy do formatu dwukolorowego (zwykle czarno-białego) za pomocą metody Binarize IronOCR. Jest szczególnie skuteczna dla zeskanowanych dokumentów z nierównomiernym oświetleniem lub szumem w tle, ponieważ tworzy wyraźne rozróżnienie między tekstem a tłem przez analizowanie obrazu i określenie optymalnych progów do separacji.

Jak mogę wyodrębnić tylko tekst o konkretnym kolorze z obrazu?

Metoda SelectTextColor IronOCR pozwala skupić się na określonych kolorach tekstu, bez skomplikowanej manipulacji obrazem. Wystarczy określić docelowy kolor i poziom tolerancji - na przykład SelectTextColor(new IronSoftware.Drawing.Color("#DB645C"), 60) - aby wyodrębnić tylko tekst z tego zakresu kolorów.

Kiedy powinienem konwertować obrazy do skali szarości zamiast używać binaryzacji?

Użyj metody ToGrayScale IronOCR, gdy masz do czynienia z kolorowymi tłami lub znakami wodnymi, które przeszkadzają w rozpoznawaniu tekstu. W przeciwieństwie do binaryzacji, skala szarości zachowuje szczegóły w obrazach z subtelnymi wariacjami, co czyni ją idealną, gdy chcesz utrzymać jakość obrazu, jednocześnie redukując wizualny hałas.

Czy mogę eksportować poprawione obrazy, aby zobaczyć wyniki filtrów kolorów?

Tak, IronOCR oferuje metodę SaveAsImages do eksportowania zmodyfikowanych obrazów po zastosowaniu korekcji kolorów. Pozwala to porównać wyniki przed i po, pomagając określić, które metody korekcji kolorów działają najlepiej dla Twoich konkretnych obrazów.

Jak mogę określić najlepszy filtr korekcji kolorów dla moich obrazów?

IronOCR zawiera narzędzie Filter Wizard, które pomaga określić optymalną kombinację filtrów dla Twoich obrazów. Dla przetwarzania wsadowego możesz łączyć wiele filtrów, takich jak binaryzacja, z innymi technikami wstępnymi, aby uzyskać najlepsze wyniki OCR dla swojego typu dokumentu.

What outputs are expected from selective color reading with OCR?

The OCR result from selective color reading focuses only on specified colors, such as extracting highlighted texts or specific warning messages, enabling precise data extraction from color-coded documents.

How can I create searchable PDFs with IronOCR?

IronOCR allows you to save modified PDFs using the SaveAsSearchablePdf method. Filters like grayscale can be applied to improve text readability and noise reduction in the resulting documents.

What preprocessing steps can enhance OCR accuracy for low-quality scans?

For low-quality scans, preprocessing steps like binarization, grayscale conversion, and color inversion can significantly improve text readability and OCR accuracy by reducing noise and enhancing contrast.

How can IronOCR help with structured data extraction?

IronOCR provides advanced processing capabilities like the OcrResult Class, which supports structured data extraction from images, making it ideal for forms with color-coded sections and highlighted text.

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

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
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