F_VN_TrainImageColorExp

F_VN_TrainImageColorExp 1:

Create a new color model, describing the image color. (expert function)
Can use available TwinCAT Job Tasks for executing parallel code regions.
Can return partial results when canceled by Watchdog.

Syntax

Definition:

FUNCTION F_VN_TrainImageColorExp : HRESULT
VAR_INPUT
    ipSrcImage       : ITcVnImage;
    ipColorModel     : Reference To ITcVnColorModel;
    nDifferentColors : UDINT;
    eMethod          : ETcVnColorTrainingMethod;
    ipMask           : ITcVnImage;
    nSkipPixels      : UDINT;
    hrPrev           : HRESULT;
END_VAR

F_VN_TrainImageColorExp 2: Inputs

Name

Type

Description

ipSrcImage

ITcVnImage

Source image (3 channels (RGB) of type USINT)

ipColorModel

Reference To ITcVnColorModel

Returns the color model

nDifferentColors

UDINT

Number of different colors to distinguish

eMethod

ETcVnColorTrainingMethod

Color training method

ipMask

ITcVnImage

Optional image mask (1 channel of type USINT, set to 0 if not required)

nSkipPixels

UDINT

Number of pixels to skip between each evaluated color sample (to achieve a better performance). 0 takes every pixel into account and tends to be more accurate.

hrPrev

HRESULT

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

F_VN_TrainImageColorExp 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_TrainImageColorExp ist die Expert-Variante von F_VN_TrainImageColor. Sie enthält weitere Parameter. Wenn das Trainierte Farbmodell auf der Festplatte gespeichert werden soll, muss die F_VN_TrainImageColorExp_ITcVnMlModel mit dem Typ ITcVnMlModel verwendet werden.

Parameter

Referenzbild

Das Referenzbild ipSrcImage muss 3 Kanäle im RGB-Format und den Element-Typ USINT (8 Bit) haben.

Farbmodell

Der Parameter ipColorModel gibt das trainierte Farbmodell zurück. Dieses ist ein Interface Pointer vom Typ ITcVnColorModel.

Anzahl zu unterscheidender Farben

Die Anzahl nDifferentColors definiert die Anzahl an zu trainierenden Farben. Achten Sie darauf, der Bildhintergrund z. B. auch eine eigene Farbe sein kann.

Expert-Parameter

Zusätzliche Parameter finden Sie in einer weiteren Expert-Variante F_VN_TrainImageColorExp2.

Trainingsmethoden

Bei der Auswahl der Trainingsmethode stehen die Farbräume LAB und RGB zur Verfügung.

Maske

Die Maske ipMask definiert, welche Pixel des Eingangsbilds ipSrcImage in der Berechnung berücksichtigt werden. Sie wird durch ein 1-kanaliges Bild mit Element-Typ USINT beschrieben, dass dieselbe Größe wie das Eingangsbild ipSrcImage besitzt. Alle Pixel, die im Maskenbild einen Wert <> 0 haben, werden bei der Berechnung der Cluster berücksichtigt.

Pixel-Lücke

Zur Performance Optimierung kann eine Anzahl von Pixeln übersprungen werden, so dass weniger Pixel bei der Aufteilung in die einzelnen Cluster berücksichtigt werden müssen.

Anwendung

VAR
    ipColorModel    :   ITcVnColorModel;
END_VAR

hr := F_VN_TrainImageColor(
            ipSrcImage      :=  ipImageRef,
            ipColorModel    :=  ipColorModel,
            nDifferentColors:=  5, // 4 colors + 1 background = 5
            eMethod         :=  TCVN_CTM_LAB,
            ipMask          :=  0,
            nSkipPixels     :=  3,
            hrPrev          :=  hr);

Verwandte Funktionen

Es gibt drei Möglichkeiten die Referenzfarbe an die entsprechende F_VN_ReferenceColorSimilarity Funktion zu übergeben:

  • Als trainiertes Farbmodell vom Typ ITcVnColorModel
  • Als trainiertes Farbmodell vom Typ ITcVnMlModel
  • Direkt mit Werten in einem TcVnVector3_LREAL

Für die Farbmodelle gibt es entsprechende Funktionen zum Trainieren und für alle drei Datentypen jeweils eine Funktion zur Ausführung:

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1. 4024.44 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision