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_light_modelcreate_structured_light_modelCreateStructuredLightModelCreateStructuredLightModelCreateStructuredLightModel. 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. 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 den Parametern 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" und 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_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.

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 deserialize_structured_light_modeldeserialize_structured_light_modelDeserializeStructuredLightModelDeserializeStructuredLightModelDeserializeStructuredLightModel 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.