using IronOcr;
using IronSoftware.Drawing;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage("blue_and_pink.png");
ocrInput.WithTitle("Recolored");
ocrInput.ReplaceColor(Color.Pink, Color.White, 10);
// Pink detection has 10% tolerance
ocrInput.ReplaceColor(Color.Blue, Color.Black, 5);
// Blue detection has 5% tolerance
// Export the modified image so you can manually inspect it.
foreach (var page in ocrInput.GetPages())
{
page.SaveAsImage($"black_and_white_page_{page.Index}.bmp");
}
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
Private ocrTesseract = New IronTesseract()
Private ocrInput = New OcrInput()
ocrInput.LoadImage("blue_and_pink.png")
ocrInput.WithTitle("Recolored")
ocrInput.ReplaceColor(Color.Pink, Color.White, 10)
' Pink detection has 10% tolerance
ocrInput.ReplaceColor(Color.Blue, Color.Black, 5)
' Blue detection has 5% tolerance
' Export the modified image so you can manually inspect it.
For Each page In ocrInput.GetPages()
page.SaveAsImage($"black_and_white_page_{page.Index}.bmp")
Next page
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
Install-Package IronOcr
OCR Image Color Editing
OCR works faster and more accurately when we read black text on a white background.
If we have for example blue text on a pink background, we will want to swap blue to black and pink to white before OCR.
This can be very time-consuming and slow using System.Drawing, but is completely automated with IronOCR.
The OcrInput.ReplaceColor method allows us to replace one color with another in a document.
It is fuzzy, and you may specify a % tolerance from an exact RGB.
This removed the need to use Photoshop or ImageMagick scripts to prepare images for OCR.