Strukturiertes Licht
Liste der Operatoren ↓
Dieses Kapitel beinhaltet Operatoren für die Verwendung von strukturiertem Licht.
Konzept von strukturiertem Licht
Das grundlegende Konzept von strukturiertem Licht beruht auf der Darstellung
bekannter Muster auf einem Monitor oder Projektor. Die Art und Weise, wie diese
Muster nach dem Auftreffen auf eine Oberfläche in der Szene erscheinen, lässt
eine weitere Analyse der Oberfläche zu.
Eine Voraussetzung für die Anwendung von strukturiertem Licht ist das
Erzeugen eines Modells mittels create_structured_lightcreate_structured_lightCreateStructuredLightCreateStructuredLightCreateStructuredLight. Der Modelltyp
wird mit ModelTypeModelTypeModelTypeModelTypemodelType spezifiziert. Zurzeit wird nur der Typ
'deflectometry'"deflectometry""deflectometry""deflectometry""deflectometry" unterstützt. Unter Deflektometrie versteht man die
Analyse der Reflektionen bekannter Muster von spiegelnden oder halbmatten
Oberflächen. Zurzeit wird nur die Deflektometrie zur Erkennung von Defekten
auf spiegelnden Oberflächen unterstützt. Für jedes Muster-Bild, das auf dem
Bildschirm angezeigt wird, wird ein entsprechendes Kamerabild von der
Reflektion aufgenommen. Verformungen der Muster lassen auf einen
Oberflächendefekt schließen.
Im Folgenden werden kurz die Schritte beschrieben, die zur Defekterkennung
auf spiegelnden Oberflächen notwendig sind.
- Erzeugen eines Modells für strukturiertes Licht:
-
Im ersten Schritt wird das Modell für strukturiertes Licht mit
erzeugt oder mit
eingelesen.
- Setzen der Modellparameter:
-
Die unterschiedlichen Modellparameter können mit
set_structured_light_model_paramset_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamSetStructuredLightModelParam gesetzt oder mit
get_structured_light_model_paramget_structured_light_model_paramGetStructuredLightModelParamGetStructuredLightModelParamGetStructuredLightModelParam abgefragt werden. Die Parameter
'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width", 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height",
'pattern_orientation'"pattern_orientation""pattern_orientation""pattern_orientation""pattern_orientation" und 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" spezifizieren,
mitsamt dem Parameter 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width"
die Vorgaben der zu erzeugenden Muster-Bilder,
welche auf die spiegelnde Oberfläche projiziert werden. Schließlich kann der
Parameter 'persistence'"persistence""persistence""persistence""persistence" gesetzt werden, um die Zwischenergebnisse zu
debuggen.
- Erzeugen der Muster-Bilder:
-
Die Muster-Bilder werden mit gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatternGenStructuredLightPattern erzeugt,
nachdem alle relevanten Parameter gesetzt wurden. Es ist sicherzustellen,
dass die erzeugten Muster-Bilder an den Bedarf des jeweiligen Setups angepasst
sind.
- Projizieren der Muster und Aufnahme der Kamerabilder:
-
In dieser Phase werden die Muster-Bilder auf dem Monitor angezeigt und von
der spiegelnden Oberfläche reflektiert. Jedes reflektierte Muster wird von der
Kamera aufgenommen.
- Dekodieren der aufgenommenen Bilder:
-
Die erzeugten Kamerabilder CameraImagesCameraImagesCameraImagesCameraImagescameraImages können mit
decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatternDecodeStructuredLightPattern dekodiert werden. Nach Aufruf dieses
Operators werden die Korrespondenzbilder erzeugt und in dem Modell
StructuredLightModelStructuredLightModelStructuredLightModelStructuredLightModelstructuredLightModel gespeichert.
- Abrufen der Ergebnisse:
-
Nun können die dekodierten Korrespondenzbilder
'correspondence_image'"correspondence_image""correspondence_image""correspondence_image""correspondence_image" sowie die anderen Ergebnisse mit
get_structured_light_objectget_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectGetStructuredLightObject abgefragt werden. Das Defektbild
'defect_image'"defect_image""defect_image""defect_image""defect_image" kann erzeugt werden und mit
get_structured_light_objectget_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectGetStructuredLightObject abgerufen werden. Weitere Details über die
verschiedenen Objekte, die abgefragt werden können, finden sich in der
Referenzdokumentation des Operators.
- Löschen des Modells für strukturiertes Licht:
-
Zum Schluss sollte das Modell für strukturiertes Licht mit
clear_structured_light_modelclear_structured_light_modelClearStructuredLightModelClearStructuredLightModelClearStructuredLightModel gelöscht werden, um den belegten Speicher
wieder freizugeben.
Weitere Operatoren
Das Modell für strukturiertes Licht bietet diverse Operatoren, die
dabei helfen, auf Modellparameter zuzugreifen und diese zu aktualisieren.
Mit write_structured_light_modelwrite_structured_light_modelWriteStructuredLightModelWriteStructuredLightModelWriteStructuredLightModel kann das Modell für strukturiertes
Licht in einer Datei gespeichert werden. Es ist sicherzustellen, dass zuvor
generierte Muster-Bilder nicht in dieser Datei gespeichert werden. Mit
read_structured_light_modelread_structured_light_modelReadStructuredLightModelReadStructuredLightModelReadStructuredLightModel kann die Modell-Datei gelesen
werden.
Des Weiteren ist es möglich, das Modell mit den Operatoren
serialize_structured_light_modelserialize_structured_light_modelSerializeStructuredLightModelSerializeStructuredLightModelSerializeStructuredLightModel und
desirialize_structured_light_modeldesirialize_structured_light_modelDesirializeStructuredLightModelDesirializeStructuredLightModelDesirializeStructuredLightModel zu serialisieren und zu
deserialisieren.
Weiterführende Informationen
Weitere Details zu strukturiertem Licht finden sich im „Solution
Guide Basics“.
Liste der Operatoren
- clear_structured_light_modelClearStructuredLightModelClearStructuredLightModelclear_structured_light_model
- Löschen eines Modells für strukturiertes Licht und Freigabe des verwendeten
Speichers.
- create_structured_light_modelCreateStructuredLightModelCreateStructuredLightModelcreate_structured_light_model
- Erzeugen eines Modells für strukturiertes Licht.
- decode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern
- Dekodieren der aufgenommenen Kamerabilder bei einem Verfahren mit
strukturiertem Licht.
- deserialize_structured_light_modelDeserializeStructuredLightModelDeserializeStructuredLightModeldeserialize_structured_light_model
- Deserialisieren eines Modells für strukturiertes Licht.
- gen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern
- Erstellen der Muster-Bilder zur Anzeige bei einem Verfahren mit strukturiertem
Licht.
- get_structured_light_model_paramGetStructuredLightModelParamGetStructuredLightModelParamget_structured_light_model_param
- Abfragen von Parametern eines Modells für strukturiertes Licht.
- get_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectget_structured_light_object
- Ikonische (Zwischen-)Ergebnisse vom Modell für strukturiertes Licht
abfragen.
- read_structured_light_modelReadStructuredLightModelReadStructuredLightModelread_structured_light_model
- Lesen eines Modells für strukturiertes Licht aus einer Datei.
- serialize_structured_light_modelSerializeStructuredLightModelSerializeStructuredLightModelserialize_structured_light_model
- Serialisieren eines Modells für strukturiertes Licht.
- set_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamset_structured_light_model_param
- Setzen von Parametern eines Modells für strukturiertes Licht.
- write_structured_light_modelWriteStructuredLightModelWriteStructuredLightModelwrite_structured_light_model
- Abspeichern eines Modells für strukturiertes Licht in einer Datei.