Individuelle Kreismuster

Ein individuelles Kreismuster setzt sich aus Kreisen zusammen und bietet die Möglichkeit, die Position und damit die Anordnung der einzelnen Punkte des Musters selbst zu definieren. Dadurch ist es möglich, auch selbst gefertigte komplexe 3D-Muster für die Kalibrierung zu verwenden.

Anforderungen an das Muster

Anforderungen an die Bildaufnahme

Anforderung an die Beschreibungsdatei

Individuelle Kreismuster 1:

Mittelpunkt

Da der Mittelpunkt automatisch durch die Beschreibung der Punkte gegeben ist, dient die Angabe des Origins nur als weitere Information, wird jedoch nicht in der Berechnung verwertet.

Individuelle Kreismuster 2:

2D-Muster

Bei der Angabe von 2D-Mustern wird intern mit einer Z-Koordinate von 0 gerechnet.

Individuelle Kreismuster 3:

Konstantes Offset

Ein konstantes Offset kann als 3D-Muster mit konstantem Z-Wert realisiert werden.

Konfiguration im Camera Calibration Assistant

Wenn gültige XML-Beschreibungsdateien in dem genannten Ordner gefunden wurden, werden diese mit dem Ausgelesenen DisplayName angezeigt.

Individuelle Kreismuster 4:

Beispielvorlage einer Beschreibungsdatei für individuelle Kreismuster

Der folgende Codeblock kann als Vorlage für die Erstellung eigener Beschreibungsdateien verwendet werden und enthält beispielhaft ausgefüllte Metadaten und 2D-Punktbeschreibungen. Die ebenfalls enthaltenen 3D-Punktbeschreibungen sind auskommentiert. Bei Verwendung müsste der Pattern2D Block vollständig durch den Pattern3D Block ersetzt werden, eine Vermischung ist nicht zulässig.

Individuelle Kreismuster 5:

Zuordnung der Punkte

Es ist hilfreich, wenn die Punkte zeilen- oder spaltenweise sortiert sind und direkt zu der Lage der Punkte auf dem Kalibrierbild passen. Dadurch können die Punkte schneller und zuverlässiger zugeordnet werden.

<?xml version="1.0" encoding="UTF-8"?>
<TcVnCalibrationPattern xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/TwinCAT/3.1/Components/Vision/TcVision/TcVnCalibrationPattern.xsd">
    <MetaData>
        <DisplayName>12345</DisplayName>
        <Origin>Center</Origin>
        <PreviewImage>PreviewImageSample.png</PreviewImage>
        <Description>This is a calibration pattern</Description>
        <Revision>V1.0</Revision>
        <Width>10</Width>
        <Height>10</Height>
        <Depth>4</Depth>
        <NumberOfPoints>9</NumberOfPoints>
        <PointDiameter>1</PointDiameter>
    </MetaData>
    <Pattern2D>
        <!-- 1st row -->
        <Point2D x="-5" y="-5"/>
        <Point2D x="-0" y="-5"/>
        <Point2D x="5" y="-5"/>
        <!-- 2nd row -->
        <Point2D x="-5" y="0"/>
        <Point2D x="0" y="0"/>
        <Point2D x="5" y="0"/>
        <!-- 3rd row -->
        <Point2D x="-5" y="5"/>
        <Point2D x="0" y="5"/>
        <Point2D x="5" y="5"/>
    </Pattern2D>
    <!-- <Pattern3D> -->
        <!-- 1st row -->
        <!-- <Point3D x="-5" y="-5" z="-2"/> -->
        <!-- <Point3D x="-0" y="-5" z="-2"/> -->
        <!-- <Point3D x="5" y="-5" z="-2"/> -->
        <!-- 2nd row -->
        <!-- <Point3D x="-5" y="0" z="0"/> -->
        <!-- <Point3D x="0" y="0" z="0"/> -->
        <!-- <Point3D x="5" y="0" z="0"/> -->
        <!-- 3rd row -->
        <!-- <Point3D x="-5" y="5" z="2"/> -->
        <!-- <Point3D x="0" y="5" z="2"/> -->
        <!-- <Point3D x="5" y="5" z="2"/> -->
    <!-- </Pattern3D> -->
</TcVnCalibrationPattern>