Rechteckkoordinaten für OCR-Regionenerkennung
Mehrere IronOCR-Methoden akzeptieren ein Rectangle, sodass Sie OCR auf einem einzelnen Teil eines Bildes ausführen können, anstatt auf dem gesamten Bild. Die vier benötigten Werte, x, y, width und height, können direkt aus Microsoft Paint ausgelesen werden.
Der Konstruktor sieht so aus:
Rectangle(int x, int y, int width, int height, MeasurementUnits units = MeasurementUnits.Pixels)
Rectangle(int x, int y, int width, int height, MeasurementUnits units = MeasurementUnits.Pixels)
Rectangle(x As Integer, y As Integer, width As Integer, height As Integer, Optional units As MeasurementUnits = MeasurementUnits.Pixels)
Jeder Parameter entspricht einer Messung:
x: Abstand von der linken Kante des Bildes bis zum Beginn Ihres Bereichs.y: Abstand von der oberen Kante des Bildes bis zum Beginn Ihres Bereichs.width: Breite des Bereichs, den Sie lesen möchten.height: Höhe des Bereichs, den Sie lesen möchten.MeasurementUnits.Pixels: teilt IronOCR mit, dass die Werte in Pixeln vorliegen.
Koordinaten beginnen an der oberen linken Ecke des Bildes: x wächst nach rechts, y wächst nach unten.

Bevor Sie starten, benötigen Sie Microsoft Paint (oder einen beliebigen Editor, der die Cursorposition und die Auswahlgröße in Pixel anzeigt), das Bild, das Sie lesen möchten, und IronOCR zu Ihrem Projekt hinzugefügt.
Lösung
1. Lesen Sie den X- und Y-Startpunkt
Öffnen Sie das Bild in Microsoft Paint, dann bewegen Sie den Cursor in die obere linke Ecke der Region, die Sie lesen möchten. Die Cursorposition wird unten links im Fenster angezeigt. Ein Auslesen von 2403, 1653px gibt Ihnen den Startpunkt des Bereichs:

X = 2403
Y = 1653
2. Lesen Sie die Breite und Höhe
Wechseln Sie zum Auswahl-Werkzeug und ziehen Sie ein Feld über den Zieltext. Paint gibt die Größe der Auswahl unten links an. Ein Auslesen von 1031 × 214px sind die Abmessungen Ihres Bereichs:

Width = 1031
Height = 214
3. Bauen Sie das Rechteck
Mit den vier Werten in der Hand konstruieren Sie das Rectangle. Für den oben genannten Testing123-Bereich:
var rectangle = new Rectangle(2403, 1653, 1031, 214, MeasurementUnits.Pixels);
var rectangle = new Rectangle(2403, 1653, 1031, 214, MeasurementUnits.Pixels);
Dim rectangle = New Rectangle(2403, 1653, 1031, 214, MeasurementUnits.Pixels)
4. Übergeben Sie es an IronOCR
Geben Sie das Rechteck an LoadImage, um den Eingang auf diesen Bereich zu beschneiden, bevor Sie OCR ausführen:
var rectangle = new Rectangle(2403, 1653, 1031, 214, MeasurementUnits.Pixels);
ocrInput.LoadImage(frame, rectangle);
var rectangle = new Rectangle(2403, 1653, 1031, 214, MeasurementUnits.Pixels);
ocrInput.LoadImage(frame, rectangle);
Dim rectangle = New Rectangle(2403, 1653, 1031, 214, MeasurementUnits.Pixels)
ocrInput.LoadImage(frame, rectangle)
Debug-Tipps
- Der
1031 × 214px-Wert in der Statusleiste ist die Breite und Höhe der Auswahl, nicht eine Koordinate. - Das
2403, 1653pxZeigerauslesen ist der X- und Y-Startpunkt, also die obere linke Ecke des Bereichs. - Paint berichtet in Pixeln, daher übergeben Sie
MeasurementUnits.Pixelszur Anpassung. - Das Lesen der Werte mit dem Auge lässt sie um einige Pixel abweichen. Wenn der Zuschnitt einen Teil des Textes abschneidet, vergrößern Sie
widthoderheightleicht oder verringern Siexodery.

