| Operatoren |
set_structured_light_model_param — Setzen von Parametern eines Modells für strukturiertes Licht.
set_structured_light_model_param( : : StructuredLightModel, GenParamName, GenParamValue : )
Der Operator set_structured_light_model_param wird verwendet, um die Parameter eines Modells für strukturiertes Licht StructuredLightModel zu manipulieren. Die aktuellen Parametereinstellungen können mit dem Operator get_structured_light_model_param abgefragt werden.
Das Konzept des strukturierten Lichts sowie die unterstützen Anwendungsbereiche werden in der Einleitung des Kapitels Inspektion / Strukturiertes Licht beschrieben.
Allgemeine Parameter:
Aktiviert (GenParamValue='true') oder deaktiviert (GenParamValue='false') den Modus 'persistence' des Modells für strukturiertes Licht. Im Persistenz-Modus speichert das Modell Zwischenergebnisse der Dekodierung, welche später mit get_structured_light_object inspiziert werden können.
Es ist zu beachten, dass das Modell in diesem Modus signifikanten Speicherplatz benötigen könnte. Deswegen empfehlen wir, den Persistenz-Modus nur während der Einrichtung oder zur Fehlerbehebung zu aktivieren.
Wird der Wert von 'persistence' verändert, werden alle Ergebnisse des Modells gelöscht.
Werte: 'true', 'false', 1, 0
Defaultwerte: 'false'
Parameter, die das Erscheinungsbild der Muster-Bilder beeinflussen:
Setzt die Breite der Muster-Bilder, welche durch den Aufruf von gen_structured_light_pattern erzeugt werden. Normalerweise sollte 'pattern_width' der Breite des Monitors entsprechen, der zur Anzeige der Muster-Bilder verwendet wird.
Der Wert von 'pattern_width' muss größer als 'min_stripe_width'/2 sein.
Wird der Wert von 'pattern_width' verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_pattern dekodiert wird.
Werte: Ganze Zahlen größer oder gleich 1
Defaultwert: 1024
Setzt die Höhe der Muster-Bilder, welche durch den Aufruf von gen_structured_light_pattern erzeugt werden. Normalerweise sollte 'pattern_height' der Höhe des Monitors entsprechen, der zur Anzeige der Muster-Bilder verwendet wird.
Der Wert von 'pattern_height' muss größer als 'min_stripe_width'/2 sein.
Wird der Wert von 'pattern_height' verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_pattern dekodiert wird.
Werte: Ganze Zahlen größer oder gleich 1
Defaultwert: 1024
Setzt die Breite (in Pixeln) des schmalsten Streifens der Muster-Bilder, welche durch den Aufruf von gen_structured_light_pattern erzeugt werden.
Der Wert von 'min_stripe_width' muss eine Zweierpotenz sein. Außerdem muss 'min_stripe_width' kleiner oder gleich dem Minimum der Parameter 'pattern_width' und 'pattern_height' sein, nachdem beide bis zur nächsten Zweierpotenz aufgerundet wurden.
Wird der Wert von 'min_stripe_width' verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_pattern dekodiert wird.
Werte: Ganzzahlige Zweierpotenzen größer oder gleich 4
Defaultwert: 32
Setzt den Modus der Normalisierung des Modells für strukturiertes Licht. Wenn der Parameter 'normalisation' auf 'global' gesetzt ist, generiert gen_structured_light_pattern zwei zusätzliche Muster-Bilder bestehend aus einem weißen und einem schwarzen Bild. Diese Bilder werden dann während der Dekodierung verwendet, um die eigentliche Muster Region zu ermitteln. Wird stattdessen der Wert 'inverted_pattern' gewählt, wird jedes Gray-Code Bild zusätzlich invertiert und die Muster Region wird, unter Verwendung der Gray-Code Bilder und ihrer invertierten Version, iterativ segmentiert.
Wird der Wert von 'normalization' verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_pattern dekodiert wird.
Werte: 'global', 'inverted_pattern'
Defaultwert: 'global'
Setzt die Orientierung der Muster-Bilder, welche durch den Aufruf von gen_structured_light_pattern erzeugt werden. Wenn der Parameter 'pattern_orientation' auf 'both' gesetzt ist, werden Muster Bilder mit vertikalen Streifen sowie Muster-Bilder mit horizontalen Streifen erzeugt. Bei 'vertical' bestehen die Muster-Bilder nur aus vertikalen Streifen, wohingegen bei 'horizontal' nur horizontale Streifen generiert werden.
Wird der Wert von 'pattern_orientation' verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_pattern dekodiert wird.
Werte: 'both', 'vertical', 'horizontal'
Defaultwerte: 'both'
Setzt den Typ der Muster-Bilder, welche durch den Aufruf von gen_structured_light_pattern erzeugt werden. Wenn der Parameter 'pattern_type' auf 'gray_code_and_phase_shift' gesetzt ist, werden Gray-Code Bilder und Bilder mit Phasenverschiebung erzeugt. Wenn der Parameter stattdessen auf 'gray_code' gesetzt ist, werden nur Gray-Code Bilder erzeugt.
Normalerweise liefert der Typ 'gray_code_and_phase_shift' präzisere Ergebnisse, da die Kombination aus Gray-Code Bildern und Phasenbildern sub-pixel genaue Koordinaten liefert. Bei partiell spiegelnden Oberflächen können die Typen 'gray_code' und 'gray_code_and_phase_shift' zu falschen Korrespondenzen zwischen Monitor Pixeln und Kamera Pixeln führen.
Wird 'pattern_type' verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_pattern dekodiert wird.
Werte: 'gray_code_and_phase_shift', 'gray_code'
Defaultwerte: 'gray_code_and_phase_shift'
Parameter, welche die Segmentierung der Muster Region beeinflussen:
Setzt die kleinste Grauwertdifferenz für die Gray-Code Bilder. Dieser Wert wird innerhalb des Operators decode_structured_light_pattern verwendet, um binarisierte Bilder zu ermitteln. Dadurch wird für jeden Pixel des Kamerabildes die Grauwertdifferenz zwischen belichtetem und unbelichtetem Fall berechnet. Wenn die Grauwertdifferenz eines Pixels kleiner als 'min_gray_difference' ist, wird der Pixel von der Domäne der binarisierten Bilder (siehe get_structured_light_object) ausgeschlossen und somit auch von weiteren Berechnungen.
Wenn 'min_gray_difference' auf 0 gesetzt wird, ist die segmentierte Region identisch zur Eingaberegion der Kamerabilder, mit dem einzigen Unterschied, dass Pixel mit einem Dekodierergebnis außerhalb der Muster-Bilder ausgeschlossen werden.
Werte: Ganze Zahlen großer oder gleich 0
Defaultwerte: 30
Parameter, die das Defektbild beeinflussen:
Setzt das Sigma der Gaußfunktion (d.h. das Ausmaß der Glättung) zur Faltung der Korrenspondenzbilder, um das Defektbild zu berechnen.
Werte: Gleitkommazahlen oder ganze Zahlen größer oder gleich 0.01
Defaultwert: 2
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.Handle des Modells für strukturiertes Licht.
Name des zu ändernden Parameters.
Defaultwert: 'min_stripe_width'
Werteliste: 'derivative_sigma', 'min_gray_difference', 'min_stripe_width', 'normalization', 'pattern_height', 'pattern_orientation', 'pattern_type', 'pattern_width', 'persistence'
Neuer Wert des Parameters.
Defaultwert: 32
Wertevorschläge: 0, 0.01, 0.5, 0.7, 1, 1.4, 5, 50.0, 64, 128, 256, 1024, 'true', 'false', 'both', 'vertical', 'horizontal', 'global', 'inverted_pattern', 'gray_code_and_phase_shift', 'gray_code'
* Create the model
create_structured_light_model ('deflectometry', StructuredLightModel)
* Set the size of the monitor
set_structured_light_model_param (StructuredLightModel, \
'pattern_width', 1600)
set_structured_light_model_param (StructuredLightModel, \
'pattern_height', 1200)
* Set the smallest width of the stripes in the pattern
set_structured_light_model_param (StructuredLightModel, \
'min_stripe_width', 8)
* Generate the patterns to project
gen_structured_light_pattern (PatternImages, StructuredLightModel)
* Set the expected black/white contrast in the region of interest
set_structured_light_model_param (StructuredLightModel, \
'min_gray_difference', 70)
* Decode the camera images
decode_structured_light_pattern (CameraImages, StructuredLightModel)
* Get the computed correspondences and defects
get_structured_light_object (CorrespondenceImages, StructuredLightModel, \
'correspondence_image')
set_structured_light_model_param (StructuredLightModel, 'derivative_sigma', \
Sigma)
get_structured_light_object (DefectImage, StructuredLightModel, \
'defect_image')
* Clean up
clear_structured_light_model (StructuredLightModel)
Der Operator set_structured_light_model_param gibt 2 (H_MSG_TRUE) zurück, sofern alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung ausgelöst.
get_structured_light_model_param
3D Metrology
| Operatoren |