set_structured_light_model_paramT_set_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamset_structured_light_model_param (Operator)

Name

set_structured_light_model_paramT_set_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamset_structured_light_model_param — Setzen von Parametern eines Modells für strukturiertes Licht.

Signatur

set_structured_light_model_param( : : StructuredLightModel, GenParamName, GenParamValue : )

Herror T_set_structured_light_model_param(const Htuple StructuredLightModel, const Htuple GenParamName, const Htuple GenParamValue)

void SetStructuredLightModelParam(const HTuple& StructuredLightModel, const HTuple& GenParamName, const HTuple& GenParamValue)

void HStructuredLightModel::SetStructuredLightModelParam(const HTuple& GenParamName, const HTuple& GenParamValue) const

void HStructuredLightModel::SetStructuredLightModelParam(const HString& GenParamName, Hlong GenParamValue) const

void HStructuredLightModel::SetStructuredLightModelParam(const char* GenParamName, Hlong GenParamValue) const

void HStructuredLightModel::SetStructuredLightModelParam(const wchar_t* GenParamName, Hlong GenParamValue) const   ( Nur Windows)

static void HOperatorSet.SetStructuredLightModelParam(HTuple structuredLightModel, HTuple genParamName, HTuple genParamValue)

void HStructuredLightModel.SetStructuredLightModelParam(HTuple genParamName, HTuple genParamValue)

void HStructuredLightModel.SetStructuredLightModelParam(string genParamName, int genParamValue)

def set_structured_light_model_param(structured_light_model: HHandle, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> None

Beschreibung

Der Operator set_structured_light_model_paramset_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamset_structured_light_model_param wird verwendet, um die Parameter eines Modells für strukturiertes Licht StructuredLightModelStructuredLightModelStructuredLightModelstructuredLightModelstructured_light_model zu manipulieren. Die aktuellen Parametereinstellungen können mit dem Operator get_structured_light_model_paramget_structured_light_model_paramGetStructuredLightModelParamGetStructuredLightModelParamget_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:

'persistence'"persistence""persistence""persistence""persistence":

Aktiviert (GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value='true'"true""true""true""true") oder deaktiviert (GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value='false'"false""false""false""false") den Modus 'persistence'"persistence""persistence""persistence""persistence" des Modells für strukturiertes Licht. Im Persistenz-Modus speichert das Modell Zwischenergebnisse der Dekodierung, welche später mit get_structured_light_objectget_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectget_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'"persistence""persistence""persistence""persistence" verändert, werden alle Ergebnisse des Modells gelöscht.

Wertebereich: 'true'"true""true""true""true", 'false'"false""false""false""false", 1, 0

Default: 'false'"false""false""false""false"

Parameter, die das Erscheinungsbild der Muster-Bilder beeinflussen:

'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width":

Setzt die Breite der Muster-Bilder, welche durch den Aufruf von gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern erzeugt werden. Normalerweise sollte 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" der Breite des Monitors oder Projektors entsprechen, der zur Anzeige der Muster-Bilder verwendet wird.

Der Wert von 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" muss größer als 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width"/2 sein. Für den Fall, dass 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" auf 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" gesetzt ist, muss 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" zusätzlich größer als 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width"/2 sein. Für den Fall, dass ein 'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model" im Modell gesetzt ist, muss 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" zur Breite der Projektorparameter passen, die im Kameraaufbaumodell (an Index 1) gesetzt sind.

Wird der Wert von 'pattern_width'"pattern_width""pattern_width""pattern_width""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_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Wertebereich: Ganze Zahlen größer oder gleich 1

Default: 1024

'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height":

Setzt die Höhe der Muster-Bilder, welche durch den Aufruf von gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern erzeugt werden. Normalerweise sollte 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" der Höhe des Monitors oder Projektors entsprechen, der zur Anzeige der Muster-Bilder verwendet wird.

Der Wert von 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" muss größer als 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width"/2 sein. Für den Fall, dass 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" auf 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" gesetzt ist, muss 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" zusätzlich größer als 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width"/2 sein. Für den Fall, dass ein 'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model" im Modell gesetzt ist, muss 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" zur Höhe der Projektorparameter passen, die im Kameraaufbaumodell (an Index 1) gesetzt sind.

Wird der Wert von 'pattern_height'"pattern_height""pattern_height""pattern_height""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_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Wertebereich: Ganze Zahlen größer oder gleich 1

Default: 1024

'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width":

Setzt die Breite (in Pixeln) des schmalsten Streifens der Muster-Bilder, welche durch den Aufruf von gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern erzeugt werden.

Der Wert von 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" muss eine Zweierpotenz sein. Außerdem muss 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" kleiner oder gleich dem Minimum der Parameter 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" und 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" sein, nachdem beide bis zur nächsten Zweierpotenz aufgerundet wurden. Für den Fall, dass 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" auf 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" gesetzt ist, muss 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" zusätzlich kleiner oder gleich 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width" sein.

Wird der Wert von 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""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_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Wertebereich: Ganzzahlige Zweierpotenzen größer oder gleich 4

Default: 32

'normalization'"normalization""normalization""normalization""normalization":

Setzt den Modus der Normalisierung des Modells für strukturiertes Licht. Wenn der Parameter 'normalization'"normalization""normalization""normalization""normalization" auf 'global'"global""global""global""global" gesetzt ist, generiert gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_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'"inverted_pattern""inverted_pattern""inverted_pattern""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'"normalization""normalization""normalization""normalization" verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Deshalb muss gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Werteliste: 'global'"global""global""global""global", 'inverted_pattern'"inverted_pattern""inverted_pattern""inverted_pattern""inverted_pattern"

Default: 'global'"global""global""global""global"

'pattern_orientation'"pattern_orientation""pattern_orientation""pattern_orientation""pattern_orientation":

Setzt die Orientierung der Muster-Bilder, welche durch den Aufruf von gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern erzeugt werden. Wenn der Parameter 'pattern_orientation'"pattern_orientation""pattern_orientation""pattern_orientation""pattern_orientation" auf 'both'"both""both""both""both" gesetzt ist, werden Muster -Bilder mit vertikalen Streifen sowie Muster-Bilder mit horizontalen Streifen erzeugt. Bei 'vertical'"vertical""vertical""vertical""vertical" bestehen die Muster-Bilder nur aus vertikalen Streifen, wohingegen bei 'horizontal'"horizontal""horizontal""horizontal""horizontal" nur horizontale Streifen generiert werden.

Wird der Wert von 'pattern_orientation'"pattern_orientation""pattern_orientation""pattern_orientation""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_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Werteliste: 'both'"both""both""both""both", 'vertical'"vertical""vertical""vertical""vertical", 'horizontal'"horizontal""horizontal""horizontal""horizontal"

Default: 'both'"both""both""both""both"

'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type":

Setzt den Typ der Muster-Bilder, welche durch den Aufruf von gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern erzeugt werden.

'pattern_type' Erzeugte Bilder
'gray_code'"gray_code""gray_code""gray_code""gray_code" Gray-Code-Bilder
'gray_code_and_phase_shift'"gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift" Gray-Code-Bilder und Phasenbilder
'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" Einzelstreifen-Bilder, Gray-Code-Bilder und Phasenbilder

Normalerweise liefert der Typ 'gray_code_and_phase_shift'"gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift" präzisere Ergebnisse, da die Kombination aus Gray-Code-Bildern und Phasenbildern sub-pixel genaue Koordinaten liefert. Der Typ 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" erhöht die Robustheit im Fall von partiell spiegelnden Oberflächen.

Wird 'pattern_type'"pattern_type""pattern_type""pattern_type""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_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Werteliste: 'gray_code_and_phase_shift'"gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift", 'gray_code'"gray_code""gray_code""gray_code""gray_code", 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe"

Default: 'gray_code_and_phase_shift'"gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift"

'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width":

Legt die Breite (in Pixeln) des Einzelstreifens fest, welcher durch den Aufruf von gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern mit dem 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" generiert wird.

Der Wert muss von 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width" muss eine Zweierpotenz sein und muss größer oder gleich 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" sein. Außerdem muss 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width" kleiner oder gleich dem Minimum der Parameter 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" und 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" sein, nachdem beide bis zur nächsten Zweierpotenz aufgerundet wurden.

Beachten Sie, dass der Parameter 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width" nur gesetzt werden kann, wenn 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" der Wert 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" zugewiesen wurde. Wird 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type" in 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe" geändert, wird 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width" auf eine Zweierpotenz ungefähr in der Mitte zwischen 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" und dem Minimum von 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" und 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" gesetzt.

Wird 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width" verändert, ist das Modell nicht mehr dekodierbar und alle möglicherweise verfügbaren Ergebnisse werden gelöscht. Daher muss gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern aufgerufen werden, bevor das Modell mit decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern dekodiert wird.

Wertebereich: Ganzzahlige Zweierpotenzen größer oder gleich 4

Default: Zweierpotenz ungefähr in der Mitte zwischen dem aktuell gesetzten Wert 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width" und 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width", 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height"

Parameter, welche die Segmentierung der Muster Region beeinflussen:

'min_gray_difference'"min_gray_difference""min_gray_difference""min_gray_difference""min_gray_difference":

Setzt die kleinste Grauwertdifferenz für die Gray-Code-Bilder. Dieser Wert wird innerhalb des Operators decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_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'"min_gray_difference""min_gray_difference""min_gray_difference""min_gray_difference" ist, wird der Pixel von der Domäne der binarisierten Bilder (siehe get_structured_light_objectget_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectget_structured_light_object) ausgeschlossen und somit auch von weiteren Berechnungen.

Wenn 'min_gray_difference'"min_gray_difference""min_gray_difference""min_gray_difference""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.

Wertebereich: Ganze Zahlen großer oder gleich 0

Default: 30

Parameter für Modelle für strukturiertes Licht vom Typ 'deflectometry':

'derivative_sigma'"derivative_sigma""derivative_sigma""derivative_sigma""derivative_sigma":

Setzt das Sigma der Gaußfunktion (d.h. das Ausmaß der Glättung) zur Faltung der Korrespondenzbilder, um das Defektbild zu berechnen.

Wertebereich: Gleitkommazahlen oder ganze Zahlen größer oder gleich 0.01

Default: 2

Parameter für Modelle für strukturiertes Licht vom Typ '3d_reconstruction':

'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model":

Setzt eine Kopie des Kameraaufbaumodells, das die Kalibrierdaten des Sensors für strukturiertes Licht enthält, wie etwa kalibrierte Kamera- und Projektorparameter und -posen. Der Projektor des Sensors wird hier als 'inverse Kamera' modelliert. reconstruct_surface_structured_lightreconstruct_surface_structured_lightReconstructSurfaceStructuredLightReconstructSurfaceStructuredLightreconstruct_surface_structured_light benutzt die Kalibrierdaten, um die Oberfläche in Weltkoordinaten zu rekonstruieren. Weitere Informationen zum Kalibriervorgang sind im Beispielprogramm zur Kalibrierung eines Sensors für strukturiertes Licht zu finden (detaillierte Informationen zum Kalibriervorgang im Mehrbild-Kameraaufbau finden sich in Kalibrierung / Mehrbild).

Die Kamera des Sensors muss in Index 0 im Kameraaufbaumodell gesetzt sein, der Projektor des Sensors in Index 1. Um ein Kameraaufbaumodell aus dem StructuredLightModelStructuredLightModelStructuredLightModelstructuredLightModelstructured_light_model zu löschen, muss HNULL übergeben werden.

Es ist zu beachten, dass Breite und Höhe der Projektorparameter im Kameraaufbaumodell (in Index 1) zu 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width" und 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height" des Modells für strukturiertes Licht passen müssen. In folgenden Aufrufen von decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern und reconstruct_surface_structured_lightreconstruct_surface_structured_lightReconstructSurfaceStructuredLightReconstructSurfaceStructuredLightreconstruct_surface_structured_light müssen Breite und Höhe der Kameraparameter im Kameraaufbaumodell (in Index 0) zur Größe der Eingabebilder von decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern passen.

Zunächst werden nur Projektoren unterstützt, die als inverse projektive Flächenkameras modelliert werden können, d.h. nur Projektoren vom Typ 'area_scan_division'"area_scan_division""area_scan_division""area_scan_division""area_scan_division" und 'area_scan_polynomial'"area_scan_polynomial""area_scan_polynomial""area_scan_polynomial""area_scan_polynomial". Für die Kamera werden alle Typen von Flächenkameras außer hyperzentrischen unterstützt.

Wird das 'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model" verändert, werden alle möglicherweise verfügbaren Ergebnisse gelöscht. Daher muss decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern aufgerufen werden, bevor die Oberfläche mit reconstruct_surface_structured_lightreconstruct_surface_structured_lightReconstructSurfaceStructuredLightReconstructSurfaceStructuredLightreconstruct_surface_structured_light rekonstruiert werden kann.

Default: HNULL

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

StructuredLightModelStructuredLightModelStructuredLightModelstructuredLightModelstructured_light_model (input_control, Zustand wird modifiziert)  structured_light_model HStructuredLightModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Modells für strukturiertes Licht.

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Name des zu ändernden Parameters.

Default: 'min_stripe_width' "min_stripe_width" "min_stripe_width" "min_stripe_width" "min_stripe_width"

Werteliste: 'camera_setup_model'"camera_setup_model""camera_setup_model""camera_setup_model""camera_setup_model", 'derivative_sigma'"derivative_sigma""derivative_sigma""derivative_sigma""derivative_sigma", 'min_gray_difference'"min_gray_difference""min_gray_difference""min_gray_difference""min_gray_difference", 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width", 'normalization'"normalization""normalization""normalization""normalization", 'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height", 'pattern_orientation'"pattern_orientation""pattern_orientation""pattern_orientation""pattern_orientation", 'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type", 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width", 'persistence'"persistence""persistence""persistence""persistence", 'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width"

GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*)

Neuer Wert des Parameters.

Default: 32

Wertevorschläge: 0, 0.01, 0.5, 0.7, 1, 1.4, 5, 50.0, 64, 128, 256, 1024, 'true'"true""true""true""true", 'false'"false""false""false""false", 'both'"both""both""both""both", 'vertical'"vertical""vertical""vertical""vertical", 'horizontal'"horizontal""horizontal""horizontal""horizontal", 'global'"global""global""global""global", 'inverted_pattern'"inverted_pattern""inverted_pattern""inverted_pattern""inverted_pattern", 'gray_code_and_phase_shift'"gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift""gray_code_and_phase_shift", 'gray_code'"gray_code""gray_code""gray_code""gray_code", 'single_stripe'"single_stripe""single_stripe""single_stripe""single_stripe"

Beispiel (HDevelop)

* 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')

Ergebnis

Der Operator set_structured_light_model_paramset_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamset_structured_light_model_param gibt 2 ( H_MSG_TRUE) zurück, sofern alle Parameter korrekt sind. Andernfalls wird eine Fehlerbehandlung ausgelöst.

Vorgänger

create_structured_light_modelcreate_structured_light_modelCreateStructuredLightModelCreateStructuredLightModelcreate_structured_light_model

Siehe auch

get_structured_light_model_paramget_structured_light_model_paramGetStructuredLightModelParamGetStructuredLightModelParamget_structured_light_model_param

Modul

3D Metrology