# CalibrateGrid

Die CalibrateGrid-Funktion erstellt, mithilfe eines vom Anwender einstellbaren Rastermusters zur Kalibrierung eine 2D-Transformation zur Konvertierung von Pixelkoordinaten in echte Koordinaten. CalibrateGrid berücksichtigt auch lineare, nicht lineare und Objektivverzerrung.

## Info über CalibrateGrid

CalibrateGrid erstellt eine 2D-Transformation zwischen dem Satz von Punkten, die durch die Scheitel eines Schachbrett-Rastermusters zur Kalibrierung identifiziert wurden. Während der Analyse findet CalibrateGrid die Pixelpositionen der Rasterzellen-Kreuzungen und bildet sie dann wieder auf ein Modell des Rastermusters ab.

Darüber hinaus verwendet CalibrateGrid eine Referenz auf einen Satz von Kalibrierungspunkten und ein Objektivverzerrungsmodell, um eine Transformationszuordnung zwischen Bild- und reellen Koordinaten zu berechnen.

Hinweis: Um mit Vision Tools das unverzerrte Bild anzuzeigen oder zu verwenden, verwenden Sie die TransformImage-Funktion.

Sie können Folgendes mit CalibrateGrid konfigurieren:

- Den Typ des zur Kalibrierung anzuwendenden Rastermusters.
- Den Abstand des Kalibrierungsrastermusters.
- Den Typ der reellen, physikalischen Messeinheiten.

Optional können Sie eine Rasterplatte zur Kalibrierung drucken. Weitere Informationen finden Sie unter Drucken des Kalibriermusters mithilfe des Dialogfelds „Raster drucken“. Nach der Aufnahme des Bilds identifiziert CalibrateGrid automatisch so viele Merkmalspunkte wie möglich. Sobald Sie auf die Schaltfläche „Kalibrierung“ klicken, beginnt CalibrateGrid mit der Berechnung der Kalibrierung und gibt einen Kalibrierungspunkt basierend auf dem Abstand der Merkmalspunkte zurück.

Nach der Ausführung der Kalibrierung werden die Kalibrierungsdaten in der Zelle „CalibrateGrid“ gespeichert. Dies ermöglicht das Kopieren der CalibrateGrid-Funktion aus einem Job und das Einfügen in einen anderen Job oder das Exportieren und Importieren als externe Datei mithilfe der Funktionen „Zellen exportieren“ bzw. „Zellen importieren“. Es ist möglich, jedem Job seine eigene Kalibration zuzuweisen, aber genauso ist es möglich, sofern erforderlich, mehrere Kalibrationen in einem einzigen Job zu haben. Andere Funktionen, die Calibrate-Funktionen als Argumente verwenden, können die CalibrateGrid-Datenstruktur referenzieren.

Hinweis: Bei der Verwendung der Calibrate-Funktion müssen die physischen und optischen Einstellungen (Objektiv, Sensor und das physische Verhältnis zwischen Sensor und Szene) des Kalibrierungs- und Laufzeitvorgangs übereinstimmen. Wenn Sie eines dieser Elemente ändern, müssen Sie das System neu kalibrieren. Es empfiehlt sich, für die Kalibrierung und die Verarbeitung der Laufzeitbilder den gleichen Sensor und das gleich Objektiv zu verwenden. Die Einrichtungs- und Kalibrierungseinstellungen des Sensors und des Objektivs dürfen ebenfalls nicht geändert werden. Beispielsweise wird durch das Ändern der Auflösung oder das Bewegen des Sensors die berechnete 2D-Transformation, welche die Pixel reellen Koordinaten zuordnet, ungültig.

## CalibrateGrid-Eingang

Parameter | Beschreibung
--- | ---
Bild | Dieses Argument muss auf eine Tabellenzelle verweisen, die eine gültige Bild-Datenstruktur enthält. Standardmäßig verweist die Zelle auf A0, die Zelle mit der von der AcquireImage-Funktion zurückgegebenen Image-Datenstruktur.
Vorrichtung | Definiert den Inspektionsbereich (ROI) relativ zu einer Vorrichtung als Eingabe oder die Ausgabe des Bildkoordinatensystems einer Vision Tools-Funktion. Wenn man den Inspektionsbereich (ROI) relativ zu einer Vorrichtung bestimmt, stellt man sicher, dass beim Drehen oder Umsetzen der Vorrichtung auch der Inspektionsbereich (ROI) im Verhältnis zur Vorrichtung gedreht oder umgesetzt wird. Die Standardeinstellung ist (0,0,0), die oberste linke Ecke des Bilds.
X (Standard = 0) | Der x-Offset in Bildkoordinaten.
Y (Standard = 0) | Der y-Offset in Bildkoordinaten.
Winkel (Standard = 0) | Die Drehung von der x-Bildachse im Bildkoordinatensystem. (+/-360 Grad im Uhrzeigersinn)
Bereich | Auch als Inspektionsbereich (ROI) bezeichnet; gibt den Bereich des Bilds an, der einer Analyse unterzogen wird. Doppelklicken Sie auf den Parameter „Bereich“, um einen Interaktiver Grafikmodus zu erstellen, den Sie transformieren und drehen können. Wählen Sie diesen Parameter aus und klicken Sie in der Symbolleiste „Job bearbeiten“ des Eigenschaftsblatts auf die Schaltfläche „Bereich maximieren“, um den Bereich automatisch so zu dehnen, dass er das gesamte Bild einnimmt.
X | Der x-Offset vom Ursprung in Vorrichtungskoordinaten.
Y | Der y-Offset vom Ursprung im Vorrichtungskoordinatensystem.
Breite | Die Abmessung entlang der x-Achse des Bereichs.
Höhe | Die Abmessung entlang der y-Achse des Bereichs.
Rastertyp | Bestimmt den Typ des Kalibrierungsmusters, mit dem die Kalibrierung erstellt wird: Schachbrett, mit Bildkoordinaten; Schachbrett, keine Bildkoordinaten; Punkte, mit Bildkoordinaten; oder Punkte, keine Bildkoordinaten.
Schachbrett, mit Bildkoordinaten | Zur Bestimmung der Position der Merkmale werden die Scheitel der Felder (die Punkte, wo sich die Ecken von vier Schachbrettfeldern treffen) verwendet. Die Scheitel können akkurat positioniert werden, wenn der Neigungswinkel des Sensors maximal 45 Grad von der Senkrechten zur Oberfläche abweicht. Es werden Bildkoordinaten angegeben, damit der Ursprung und die Ausrichtung das Rasters im reellen Raum bestimmt werden können. Hinweis: Schachbrettfelder müssen mindestens 15 Pixel breit sein.
Schachbrett, keine Bildkoordinaten | Die Scheitel (die Punkte, an denen sich die Ecken von vier Rechtecken treffen) werden verwendet, um die Position des Merkmals zu bestimmen. Die Scheitel können akkurat positioniert werden, wenn der Neigungswinkel des Sensors maximal 45 Grad von der Senkrechten zur Oberfläche abweicht. Der Ursprung muss mithilfe der Rasterursprungs bestimmt werden. Hinweis: Schachbrettfelder müssen mindestens 15 Pixel breit sein.
Rasterursprung | Definiert den Ursprungspunkt des Rasters.
Mitte | Wenn Sie „Schachbrett, mit Bildkoordinaten“ auswählen, bestimmt CalibrateGrid automatisch den Ursprungspunkt, der der Mitte des Bereichs am nächsten liegt. Wenn Sie „Schachbrett, keine Bildkoordinaten“ auswählen, können Sie das Kontrollkästchen auf der Schaltfläche Mitte deaktivieren. Wenn Sie das Kontrollkästchen deaktivieren, können Sie den Rasterursprung manuell bestimmen. Wenn Sie den Rasterursprung manuell angeben, wird der Ursprungspunkt zu dem Scheitelpunkt, der dem von Ihnen angegebenen Punkt am nächsten liegt.
X | Legt die X-Position des Ursprungs in Pixelkoordinaten fest. Bei Verwendung von „Schachbrett, mit Bildkoordinaten“ wird die x-Achse automatisch bestimmt. Bei Verwendung von „Schachbrett, keine Bildkoordinaten“ nimmt die x-Achse in Richtung der rechten Seite des Rasters zu.
Y | Legt die Y-Position des Ursprungs in Pixelkoordinaten fest. Bei Verwendung von „Schachbrett, mit Bildkoordinaten“ wird die Y-Achse automatisch bestimmt. Bei Verwendung von „Schachbrett, keine Bildkoordinaten“, nimmt die Y-Achse in Richtung des unteren Rands des Rasters zu.
Hinweis: Die Parameter des Rasterursprungs können nur bearbeitet werden, wenn Sie „Schachbrett, keine Bildkoordinaten“ für den Rastertyp auswählen. Wenn Sie „Schachbrett, keine Bildkoordinaten“ ausgewählt haben, können Sie einen der Punkte manuell als Ursprung auswählen.
Calibrate | Ereignis-Trigger für CalibrateGrid.
Rasterabstandseinheiten | Legt die reellen Messeinheiten fest, auf denen die Kalibrierung basiert. Die Standardeinheit ist Millimeter. Sie können aus den folgenden Einheiten auswählen: Mikrometer Millimeter Zentimeter Zoll
Abstand X-Raster | Das Ist-Maß des Abstands des Kalibrierungsrastermusters entlang der X-Achse.
Abstand Y-Raster | Das Ist-Maß des Abstands des Kalibrierungsrastermusters entlang der Y-Achse.
Winkelbereich | Der Start- und Stoppwinkelbereich, der für die Suche nach dem Raster verwendet wird.
Winkelanfang | Minimal möglicher Winkel zwischen der horizontalen Achse des Rasters und der horizontalen Achse der Kamera. (Min = -180, Max = 180, Standard = -180)
Winkelende | Maximal möglicher Winkel zwischen der horizontalen Achse des Rasters und der horizontalen Achse der Kamera. (Min = -180, Max = 180, Standard = +180)
Tipp: Die Beschränkung des Winkelbereichs kann die Punktextraktion beschleunigen, wenn die relative Ausrichtung zwischen Raster und Kamera bekannt ist.
Toleranz suchen | Wählen Sie diese Option aus, um den Parameter Suchtoleranzen zu aktivieren und den Winkelbereich, der für die Suche nach dem Raster verwendet wird, zu beschränken. (Standard = 0; deaktiviert)
Objektivverzerrung | Das lineare oder nichtlineare Objektivverzerrungsmodell zur Verwendung bei der Zuordnung der reellen Koordinaten zu Bildkoordinaten.
0 = Keine Objektivverzerrung | Berücksichtigt nur die perspektivische Verzerrung.
1 = Radialverzerrung mittig | Berücksichtigt kleine radiale Verzerrungen, die von der Bildmitte ausgehen.
2 = Radialverzerrung außermittig | Berücksichtigt radiale Verzerrungen, die aus anderen Bereichen als der Bildmitte ausgehen.
3 = Projektionsverzerrung | Berücksichtigt Verzerrungen durch Fischaugen- und Weitwinkelobjektive.
4 = Breite Verzerrung | Berücksichtigt Objektivverzerrungen im Bereich von leicht bis stark.
Zeitlimit | Gibt die Zeitdauer in Millisekunden an, die die CalibrateGrid-Funktion ausgeführt wird. Die Ausführung der Funktion wird angehalten, wenn das Zeitlimit überschritten wurde. Der Mindestwert ist 0, der Höchstwert 9999999. Der Standardwert beträgt 120000. Hinweis: Das Zeitlimit wird als abgesicherter Modus verwendet, damit Prozessen mit einer potenziell sehr langen Ausführungsdauer beim Überschreiten des Zeitlimits beendet werden. Das Zeitlimit ist nicht genau. Die Ausführung kann das angegebene Zeitlimit um einige Sekunden überschreiten.
Anzeigen | Legt den Anzeigemodus für die Überlagerung von CalibrateGrid-Grafiken auf dem Bild fest.
0 = Alle ausblenden (Standard) | Alle Grafiken werden nur angezeigt, wenn die Zelle mit der CalibrateGrid-Funktion in der Tabelle markiert ist.
1 = Nur Ergebnis-Grafik | Zeigt die Positionen der extrahierten Punkte an, die das Eingabebild überlagern.
2 = Eingabe- und Ergebnis-Grafik | Zeigt die Positionen der extrahierten Punkt und den Suchbereich an.

## CalibrateGrid – Ausgaben

Rückgabewert | Eine Calib-Datenstruktur mit den Koeffizienten, die die Umrechnung zwischen den beiden Koordinatensystemen definieren.

CalibrateGrid-Workflow mit Schachbrett mit Bildkoordinaten:

1. Ziehen Sie das CalibrateGrid-Werkzeug per Drag & Drop in Ihre Tabelle.

   Daraufhin wird das Eigenschaftsblatt angezeigt.

2. Geben Sie den Inspektionsbereich (ROI) durch Doppelklicken auf den Parameter Bereich an. Wählen Sie den Bereich aus, indem Sie die roten Linien des Inspektionsbereichs (ROI) ziehen. Wenn Sie fertig sind, drücken Sie die Eingabetaste oder klicken Sie auf Änderungen übernehmen.

3. Geben Sie den Rastertyp an. In diesem Fall wird das Schachbrett mit Bildkoordinaten gewählt.
4. Geben Sie die Rastereinheiten an. Diese sind die reellen Messeinheiten, auf denen die reellen Koordinaten basieren werden.

5. Klicken Sie zum Auslösen der Kalibrierung auf Kalibrieren.

   Wenn die Kalibrierung abgeschlossen ist, werden die kalibrierten Punkte innerhalb des Inspektionsbereichs (ROI) angezeigt.

6. Klicken Sie auf OK. Sie erhalten eine Calib-Datenstruktur.

CalibrateGrid-Workflow mit „Schachbrett, keine Bildkoordinaten“:

1. Ziehen Sie das CalibrateGrid-Werkzeug per Drag & Drop in Ihre Tabelle.

   Daraufhin wird das Eigenschaftsblatt angezeigt.

2. Geben Sie den Inspektionsbereich (ROI) durch Doppelklicken auf den Parameter Bereich an. Wählen Sie den Bereich aus, indem Sie die roten Linien des Inspektionsbereichs (ROI) ziehen. Wenn Sie fertig sind, drücken Sie die Eingabetaste oder klicken Sie auf Änderungen übernehmen.

3. Geben Sie den Rastertyp an. In diesem Fall wird „Schachbrett, keine Bildkoordinaten“ ausgewählt.

4. Entscheiden Sie, ob Sie den Rasterursprung manuell bestimmen möchten.

   - Wenn Sie den Ursprungspunkt nicht manuell bestimmen möchten, lassen Sie das Kontrollkästchen Mitte aktiviert.

   - Wenn Sie den Ursprungspunkt manuell bestimmen möchten, deaktivieren Sie das Kontrollkästchen Mitte. Doppelklicken Sie auf die Schaltfläche X und ziehen Sie den Ursprungspunkt an die gewünschte Position. Drücken Sie nach Abschluss auf die Eingabetaste.

5. Klicken Sie zum Auslösen der Kalibrierung auf Kalibrieren.

   Wenn die Kalibrierung abgeschlossen ist, werden die kalibrierten Punkte innerhalb des Inspektionsbereichs (ROI) angezeigt.

6. Klicken Sie auf OK. Sie erhalten eine Calib-Datenstruktur.