F_VN_FindRois
Extracts rectangular regions of interest (ROIs) from an image by partitioning it into tiles using the selected method and parameters.
Syntax
Definition:
FUNCTION F_VN_FindRois : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
ipRois : Reference To ITcVnContainer;
eFindRoisMethod : ETcVnFindRoisMethod;
END_VAR
VAR_IN_OUT
stParams : TcVnParamsFindRois;
END_VAR
VAR_INPUT
hrPrev : HRESULT;
END_VARInputs
|
Name |
Type |
Description |
|---|---|---|
|
ipSrcImage |
Source image (1 channel, non-negative values). | |
|
ipRois |
Reference To ITcVnContainer |
Returns the ROIs (ContainerType_Vector_TcVnRectangle_DINT; Non-zero interface pointers are reused.) |
|
eFindRoisMethod |
Method to create ROIs | |
|
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
Weiterführende Informationen
Die Funktion F_VN_FindRois extrahiert Regionen of Interest (ROIs) aus einem Eingangsbild in dem hohe und gehäufte Intensitätswerte relevante Bildbereiche markieren (z. B. ein Binärbild oder eine Saliency-Map). Ziel der Funktion ist es, große Bilder auf diese wesentlichen Bereiche einzuschränken. Das Ergebnis ist ein Container aus Rechtecken, die als gezielte Suchfenster für weitere Vision-Funktionen dienen. Dadurch müssen rechenintensive Funktionen nicht mehr auf dem gesamten Bild ausgeführt werden, was Rechenzeit spart und durch das Ausblenden irrelevanter Bildbereiche auch die Genauigkeit nachfolgender Auswertungen erhöhen kann.
Eine bewährte Kombination ist F_VN_SalientFeatures gefolgt von F_VN_FindRois, um aus der berechneten Saliency-Map relevante rechteckige Bildausschnitte zu ermitteln. Um dabei klarer zwischen den relevanten Informationen und Hintergrund zu trennen, ist oft eine vorgeschaltete Filterung (z. B. mit F_VN_Threshold) sinnvoll.
Parameter
Eingangsbild
Das Eingabebild ipSrcImage muss 1-kanalig sein und darf nur nicht-negative Werte enthalten. Geeignete Eingaben sind z. B. Binär- oder Saliency-Bilder mit relevanten Strukturen in hellen Bereichen.
Gefundene Regionen
Der Parameter ipRois gibt die gefundenen ROIs als Container vom Typ ContainerType_Vector_TcVnRectangle_DINT zurück.
Methode zur ROI-Extraktion
Der Parameter eFindRoisMethod vom Typ ETcVnFindRoisMethod legt das Verfahren zur Extraktion der ROIs fest. Die Wahl der Methode hängt vom Typ des Eingangsbildes und der Art der gesuchten Regionen ab:
TCVN_FRM_GRID: Das Eingabebild wird mit einem regelmäßigen Raster der GrößestRoiSizeüberlagert. Für jede Kachel wird die lokale Dichte bewertet und nur ausreichend dichte Kacheln (>fMinDensity) werden als ROIs zurückgegeben. Am Bildrand können Kacheln kleiner ausfallen. Diese Methode ist besonders geeignet, wenn ein gleichmäßiges Fensterlayout gewünscht ist.TCVN_FRM_CONNECTEDCOMPONENTS: Das Eingabebild wird zwischen Hintergrund = 0 und allen anderen Pixelwerten aufgeteilt. Alle benachbarten aktiven Bereiche werden mittels Connected Components zu zusammenhängenden Bereichen zusammengefasst. Die umschließenden Rechtecke dieser Bereiche werden als ROIs zurückgegeben. Diese Methode ist besonders geeignet, wenn das Eingabebild bereits sauber segmentiert oder als Binärbild vorliegt und die gesuchten Strukturen als zusammenhängende helle Bereiche auftreten.
Parameter der ROI-Extraktion
Der Parameter stParams vom Typ TcVnParamsFindRois konfiguriert das Verhalten der gewählten Extraktionsmethode. Die Felder haben folgende Bedeutung:
stRoiSize(Standard: 416 x 416 Pixel): Gewünschte ROI-Größe in Pixeln.- Bei
TCVN_FRM_GRIDist dies direkt die Kachelgröße des resultierenden Rasters. Die resultierende ROI kann am Rand beschnitten sein. - Bei
TCVN_FRM_CONNECTEDCOMPONENTSist dies keine harte Festlegung, sondern die Zielgröße, an der sich Erweiterung und Aufteilung der Komponenten orientieren. Die resultierenden ROIs können je nach Lage und Methode kleiner, größer oder am Rand beschnitten sein. fMinDensity(Standard: 0.2): Relative Dichteschwelle zur Filterung von ROIs. Eine ROI bleibt nur erhalten, wenn ihre lokale Dichte geteilt durch die globale Dichte des Eingangsbildes größer oder gleichfMinDensityist. Höhere Werte filtern stärker, niedrigere Werte sind empfindlicher für weniger relevante Bereiche. BeifMinDensity = 0wird die Dichtefilterung abgeschaltet.fDetectionScaleFactor(Standard: 0.25): Dient zur Reduzierung der Auflösung. Niedrigere Werte beschleunigen die Dichteberechnung, können jedoch die Genauigkeit bei kleinen oder feinen Strukturen verringern. Gültige Werte liegen im Bereich 0.1 bis 1.0.fMaxOversizeFraction(Standard: 1.0): Anteil, um den eine erkannte ROI die instRoiSizedefinierten Abmessungen überschreiten darf. Ein Wert von 1.0 erlaubt eine maximale Vergrößerung um den Faktor 2. Dieser Parameter wird ausschließlich bei der MethodeTCVN_FRM_CONNECTEDCOMPONENTSausgewertet.
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 |