F_VN_MergeRegions
Merge rectangles that overlap or whose edge-to-edge gap is within the specified distance.
Syntax
Definition:
FUNCTION F_VN_MergeRegions : HRESULT
VAR_INPUT
ipSrcContainer : ITcVnContainer;
ipDestContainer : Reference To ITcVnContainer;
nDistance : UDINT;
nOptions : ULINT;
hrPrev : HRESULT;
END_VARInputs
|
Name |
Type |
Description |
|---|---|---|
|
ipSrcContainer |
Source container containing rectangles to be merged (ContainerType_Vector_TcVnRectangle_DINT) | |
|
ipDestContainer |
Reference To ITcVnContainer |
Returns the resulting container, same type as ipSrcContainer |
|
nDistance |
UDINT |
Maximum edge-to-edge gap (in pixels) for two non-overlapping rectangles to be merged (overlapping rectangles are always merged) |
|
nOptions |
ULINT |
Specifies the method for merging regions. Valid values are defined in ETcVnMergeRegionsOptions. |
|
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_MergeRegions fasst Rechtecke zu jeweils einer gemeinsamen Region zusammen, wenn sie sich überlappen oder ihr Kantenabstand einen definierten Wert nicht überschreitet.
Typischerweise wird die Funktion zur Nachverarbeitung von Detektionsergebnissen eingesetzt, bei denen Objekte in benachbarten ROIs mehrfach erkannt wurden und sich die resultierenden Regionen überlappen oder aneinander angrenzen. Ein Anwendungsfall ist die Nachbearbeitung der von F_VN_DetectCodesNeuralNetwork detektierten Coderegionen, um mehrfach erkannte Codes an den Grenzen benachbarter ROIs zu einer gemeinsamen Ergebnisregion zusammenzufassen. Die zusammengefassten Regionen können anschließend als ROIs weiterverwendet und in diesem Beispiel einer Code-Reading-Funktion übergeben werden.
Parameter
Eingabeliste der Rechtecke
Über ipSrcContainer wird die Liste der zusammenzufassenden Rechtecke in einem Container vom Typ ContainerType_Vector_TcVnRectangle_DINT übergeben.
Ergebnisliste der Regionen
Die zusammengefassten Regionen werden in ipDestContainer zurückgegeben, der denselben Typ wie ipSrcContainer hat.
Distanz
Der Parameter nDistance ist der maximaler Pixelabstand zwischen zwei Rechtecken, damit sie zusammengeführt werden. Überlappende Rechtecke werden immer zusammengeführt. Für nicht überlappende Rechtecke gilt: Der Abstand in x-Richtung und der Abstand in y-Richtung müssen jeweils kleiner oder gleich nDistance sein. Ein Abstand von 0 bedeutet, dass sich zwei Rechtecke direkt berühren und dann ebenfalls zusammengefasst werden.
Optionen
Der Parameter nOption legt die Methode zum Zusammenführen der einzelnen Bereiche fest. Die Methoden sind in ETcVnMergeRegionsOptions definiert:
TCVN_MRO_UPRIGHT_BOUNDING_RECT: Jede zusammengefasste Region wird durch das kleinste umschließende achsenparallele Rechteck repräsentiert.
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 min. PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |