Region of Interest

Dieses Kapitel beschreibt die Verwendung einer Region of Interest in TwinCAT Vision.

Was ist eine Region of Interest?

Eine Region of Interest (ROI) ist ein rechteckiger Bildausschnitt, auf den ein Bild zwischenzeitlich eingeschränkt wird. Dabei wird das Bild an sich nicht verändert, sondern lediglich der zu verarbeitende Ausschnitt verkleinert. Eine ROI kann jederzeit auf das gesamte Bild zurückgesetzt werden.

Wofür wird eine Region of Interest benötigt?

Häufig ist ein vorliegendes Bild größer als der Bereich, der verarbeitet werden soll. In diesem Fall sollte eine ROI gesetzt werden, um folgende Vorteile zu erzielen:

  1. Bessere Performance: Die Verarbeitungszeit eines Bildes wird kürzer, wenn der zu verarbeitende Bildausschnitt kleiner ist.
  2. Weniger Störungen: Störende Bildobjekte, die sich außerhalb der ROI befinden, werden von der Verarbeitung ausgeschlossen und beeinflussen daher nicht das Ergebnis.

Genauso ist es durch den Einsatz von ROIs möglich, mehrere Bildbereiche separat zu verarbeiten, indem die ROI nacheinander an verschiedene Stellen des Bilds gesetzt wird.

Hinweis

ROI Konfiguration in der Kamera

Wenn Sie eine Kamera als Bildquelle verwenden, setzten Sie am besten dort schon eine ROI um die zu übertragende Datenmenge zu reduzieren und möglichst gering zu halten. Je nach Einstellung und Sensor kann sich dadurch auch die mögliche Bildfrequenz erhöhen. Sehen Sie dazu in den Beispielen zur Kamera-Konfiguration: Region of Interest (ROI)

Wie wird eine Region of Interest technisch dargestellt?

Die Information einer gesetzten ROI wird in TwinCAT Vision direkt im jeweiligen Bild-Objekt gespeichert. Das Setzen einer ROI beinhaltet lediglich das Setzen einer Rechteck-Beschreibung. Die Bilddaten außerhalb dieses Bereichs sind jederzeit noch vorhanden, werden aber beim Aufruf von Funktionen nicht berücksichtigt.

Die Rechteck-Beschreibung besteht aus der Position (nX und nY) der oberen linken Ecke und der Größe (nWidth und nHeight) des Rechtecks. Es ist zu beachten, dass das Rechteck, nicht über den Bildrand hinausragt (nWidth ≤ ImageWidth - nX und nHeight ≤ ImageHeight - nY).

Region of Interest 1:

Zum Setzen einer ROI werden diese Parameter je nach Funktion direkt oder als Struktur von Typ TcVnRectangle_UDINT übergeben:

Um zu überprüfen, ob und welche ROI auf einem Bild gesetzt ist, steht die Funktion F_VN_GetRoi zur Verfügung. Eine ROI kann auch auf einem Bild gesetzt werden, dass bereits eine ROI hat. Wenn die ROI vergrößert oder auf die gesamte Bildgröße zurückgesetzt werden sollen, kann die Funktion F_VN_ResetRoi verwendet werden.