F_VN_DrawContours
Draws a single point set or multiple point sets that are interpreted as contours.
Syntax
Definition:
FUNCTION F_VN_DrawContours : HRESULT
VAR_INPUT
ipContours : ITcVnContainer;
nContourIndex : DINT;
ipDestImage : ITcVnImage;
END_VAR
VAR_IN_OUT
aColor : TcVnVector4_LREAL;
END_VAR
VAR_INPUT
nThickness : DINT;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipContours |
Single contour (ContainerType_Vector_TcVnPoint2_DINT) or multiple contours (ContainerType_Vector_Vector_TcVnPoint2_DINT) | |
nContourIndex |
DINT |
Index of a specific contour to be drawn (if negative, all contours within the container are drawn) |
ipDestImage |
Destination image | |
nThickness |
DINT |
Line thickness (if negative, the contours are filled) |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_DrawContours
zeichnet Konturen in das Zielbild. Eine Kontur wird dabei aus einer Menge an Punkten beschrieben, welche in einem Container gespeichert sind. Dabei ist zu beachten, dass nur ganzzahlige Konturpunkte gezeichnet werden können, sodass der Container vom Typ ContainerType_Vector_TcVnPoint2_DINT sein muss. Werden die Punkte über Fließkommazahlen beschrieben, so kann mit F_VN_ConvertContainerType eine Konvertierung der Punkte erfolgen.
Neben einem Container mit einer Kontur kann der Funktion auch ein Container mit mehreren Konturen übergeben werden. Dieser ist dann vom Typ ContainerType_Vector_Vector_TcVnPoint2_DINT. Welche Kontur gezeichnet werden soll, wird über die Eingangsvariable nContourIndex angegeben. Sollen alle Konturen gezeichnet werden, muss nContourIndex auf einen negativen Wert gesetzt werden. Es ist effizienter, einen ganzen Container von Konturen auf einmal zu zeichnen (setzen von nContourIndex auf einen negativen Wert), als sie nacheinander zu zeichnen, indem Sie die Funktion wiederholt innerhalb einer Schleife aufrufen.
Expert-Parameter
Die Expert-Variante F_VN_DrawContoursExp enthält zusätzliche Parameter.
Anwendung
Das Malen von allen Konturen einer Kontur-Liste ipContours
mit einer roten, 5px starken Linie sieht z. B. so aus:
hr := F_VN_DrawContours(
ipContours := ipContours,
nContourIndex := -1,
ipDestImage := ipImageRes,
aColor := aColorRed,
nThickness := 5,
hrPrev := hr
);
Typische Funktionen die Konturen vom Typ ContainerType_Vector_Vector_TcVnPoint2_DINT zurückgeben
Beispiele
Required License
TC3 Vision Base
System Requirements
Development environment | Target platform | PLC libraries to include |
---|---|---|
TwinCAT V3.1.4024.59 or later | PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |