F_VN_OCR
Detects and recognizes characters in a binary image (white characters on black background).
Can use available TwinCAT Job Tasks for executing parallel code regions.
Syntax
Definition:
FUNCTION F_VN_OCR : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
eModel : ULINT;
ipCharacters : Reference To ITcVnContainer;
hrPrev : HRESULT;
END_VAR
Inputs
Name | Type | Description |
|---|---|---|
ipSrcImage | Source image (USINT elements, 1 or 3 channels). The required number of channels depends on the selected model type. | |
eModel | ULINT | Selection of OCR model types (ETcVnOcrModelType) |
ipCharacters | Reference To ITcVnContainer | Returns the recognized characters (ContainerType_Vector_String_SINT) |
hrPrev | HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_OCR detektiert und erkennt Zeichen in einem Binärbild und gibt die erkannten Zeichen in einem Container zurück.
Parameter
Eingangsbild
Das Format des Eingangsbildes, das an ipSrcImage übergeben werden muss, hängt vom verwendeten Modell ab:
- Bei den Modellen, die mit
TCVN_OMT_beginnen, muss ein 1-kanaliges Binärbild übergeben werden, auf dem nur weiße Zeichen auf schwarzem Hintergrund zulässig sind. - Bei dem Modell, das mit
TCVN_OMT_CNN_beginnt, muss ein 1-kanaliges oder 3-kanaliges Bild vom Typ USINT (8 Bit) übergeben werden, das intern automatisch konvertiert wird. Das spezifische Eingangsformat und -größe des Modells ist in der Beschreibung von ETcVnOcrModelType aufgeführt. Um die internen Konvertierungsschritte zu reduzieren und damit auch die benötigte Rechenzeit, empfiehlt es sich, das Bild mit der gleichen Anzahl an Kanälen zu übergeben, falls es vor dem Aufruf in der Form schon vorhanden ist. Generell sollte beachtet werden, dass das Seitenverhältnis des Eingangsbildes dem des Modells möglichst ähnlich ist. Andernfalls kann es bei der internen Skalierung zu Verzerrungen kommen, welche die Erkennungsqualität beeinträchtigen.
Modell
Ein Modell-Typ von ETcVnOcrModelType, welches bei einem Funktionsaufruf zur Klassifizierung der Zeichen verwendet werden soll, muss an eModel übergeben werden. Diese Funktion unterstützt nur die Verwendung von einem Modell pro Funktionsaufruf.
Um ein Modell verwenden zu können, muss dieses zuvor mit dem Baustein FB_VN_InitializeFunction initialisiert werden.
Erkannte Zeichen
Die erkannten Zeichen werden über die Referenz ipCharacters zurückgegeben.
Expert-Parameter
Die Expert-Variante F_VN_OCRExp enthält zusätzliche Parameter.
Anwendung
Ein Aufruf der OCR-Funktion, mit einem Modell zur Erkennung von Zahlen, mit anschließendem String-Export sieht z.B. so aus:
hr := F_VN_OCR(
ipSrcImage := ipBinaryImage,
eModel := TCVN_OMT_NUMBERS,
ipCharacters := ipCharactersResults,
hrPrev := hr);
// Export character to string
hr := F_VN_ExportSubContainer_String(ipCharactersResults, 0, sText, 255, hr);Beispiele:
Required License
TC3 Vision OCR
System Requirements
Development environment | Target platform | PLC libraries to include |
|---|---|---|
TwinCAT V3.1.4024.59 or later | PC or CX (x64) with min. PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |
Return value