Współrzędne prostokąta dla wykrywania regionu OCR
Wiele metod IronOCR akceptuje Rectangle, dzięki czemu można uruchomić OCR na jednym fragmencie obrazu, zamiast całości. Cztery wartości, które potrzebuje, x, y, width, i height, można bezpośrednio odczytać z programu Microsoft Paint.
Konstruktor wygląda tak:
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)
Każdy parametr odpowiada jednemu pomiarowi:
x: odległość od lewego brzegu obrazu do początku twojego regionu.y: odległość od górnego brzegu obrazu do początku twojego regionu.width: szerokość regionu, który chcesz przeczytać.height: wysokość regionu, który chcesz przeczytać.MeasurementUnits.Pixels: informuje IronOCR, że wartości są w pikselach.
Współrzędne zaczynają się w lewym górnym rogu obrazu: x rośnie w prawo, y rośnie w dół.

Przed rozpoczęciem naciśnij pole tekstowe Start na pasku narzędzi.@@NL@@Upewnij się, że masz zainstalowany Microsoft Paint (lub dowolny edytor pokazujący pozycję kursora i rozmiar zaznaczenia w pikselach), obraz, który chcesz odczytać, oraz IronOCR dodane do swojego projektu.
Rozwiązanie
1. Odczytaj punkt początkowy X i Y
Otwórz obraz w Microsoft Paint, a następnie przesuń kursor do lewego górnego rogu obszaru, który chcesz odczytać. Pozycja kursora jest pokazana w lewym dolnym rogu okna. Odczyt z 2403, 1653px daje początek obszaru:

X = 2403
Y = 1653
2. Odczytaj szerokość i wysokość
Przełącz się na narzędzie Zaznacz i przeciągnij ramkę nad docelowym tekstem. Paint pokazuje rozmiar zaznaczenia w lewym dolnym rogu. Odczyt z 1031 × 214px to wymiary twojego obszaru:

Width = 1031
Height = 214
3. Zbuduj prostokąt
Mając cztery wartości, skonstruuj Rectangle. Dla wyżej wymienionego obszaru Testing123:
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. Przekaż to do IronOCR
Przekaż prostokąt do LoadImage, aby przyciąć wejście do tego regionu przed uruchomieniem OCR:
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)
Wskazówki dotyczące debugowania
- Wartość
1031 × 214pxna pasku stanu to szerokość i wysokość zaznaczenia, a nie współrzędna. - Odczyt kursora
2403, 1653pxto X i Y punkt początkowy, czyli lewy górny róg obszaru. - Paint raportuje w pikselach, więc przekazuj
MeasurementUnits.Pixels, aby pasowało. - Odczytywanie wartości wzrokowo pozostawia je z niedokładnością o kilka pikseli. Jeśli przycinanie wycina część tekstu, rozszerz
widthlubheightnieco, albo obniżxluby.

