结构光

算子列表 ↓

本章介绍了用于结构光的算子。

结构光原理

结构光技术的基本原理是将已知图案投射到显示器或投影仪上。这些图案在接触物体表面后呈现的形态,有助于进一步分析物体表面特性。

要使用结构光,必须先通过 create_structured_light_modelcreate_structured_light_modelCreateStructuredLightModelCreateStructuredLightModelCreateStructuredLightModelcreate_structured_light_model 创建模型。模型类型在 ModelTypeModelTypeModelTypeModelTypemodelTypemodel_type 中指定。目前仅支持 'deflectometry'"deflectometry""deflectometry""deflectometry""deflectometry""deflectometry" 模型类型。偏转测量法是通过分析镜面或半镜面反射的已知图案来进行检测的流程。在该设置中,每当图案图像投射到屏幕上时,系统会同步获取反射的相机图像。相机图像中图案的变形即表明镜面存在缺陷。

下文将简要描述在镜面进行缺陷检测所需的步骤。

创建结构光模型:

在第一步中,创建结构光模型通过

或读取通过

设置模型参数:

不同结构光模型参数可通过 set_structured_light_model_paramset_structured_light_model_paramSetStructuredLightModelParamSetStructuredLightModelParamSetStructuredLightModelParamset_structured_light_model_param 设置,或通过 get_structured_light_model_paramget_structured_light_model_paramGetStructuredLightModelParamGetStructuredLightModelParamGetStructuredLightModelParamget_structured_light_model_param 查询。图案参数 'pattern_width'"pattern_width""pattern_width""pattern_width""pattern_width""pattern_width"'pattern_height'"pattern_height""pattern_height""pattern_height""pattern_height""pattern_height"'pattern_orientation'"pattern_orientation""pattern_orientation""pattern_orientation""pattern_orientation""pattern_orientation"'pattern_type'"pattern_type""pattern_type""pattern_type""pattern_type""pattern_type",连同条纹参数 'min_stripe_width'"min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width""min_stripe_width"'single_stripe_width'"single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width""single_stripe_width",共同规定了将生成并投射到镜面表面的图案图像规格。最后可启用 'persistence'"persistence""persistence""persistence""persistence""persistence" 参数以调试中间结果。

生成图案图像:

图案图像需在设置所有相关参数后,使用 gen_structured_light_patterngen_structured_light_patternGenStructuredLightPatternGenStructuredLightPatternGenStructuredLightPatterngen_structured_light_pattern 生成。请确保输出图像符合特定设置的要求。

投影图案并获取相机图像:

在此阶段,图案图像显示在屏幕上并被镜面反射。相机针对每个图案图像分别采集其对应的反射图像。

解码获取的图像:

获取的 CameraImagesCameraImagesCameraImagesCameraImagescameraImagescamera_images 可通过 decode_structured_light_patterndecode_structured_light_patternDecodeStructuredLightPatternDecodeStructuredLightPatternDecodeStructuredLightPatterndecode_structured_light_pattern 进行解码。调用该算子后,对应关系图像将被创建并存储于 StructuredLightModelStructuredLightModelStructuredLightModelStructuredLightModelstructuredLightModelstructured_light_model 模型中。

获取结果:

现在,解码后的 'correspondence_image'"correspondence_image""correspondence_image""correspondence_image""correspondence_image""correspondence_image" 以及其他结果均可通过 get_structured_light_objectget_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectGetStructuredLightObjectget_structured_light_object 进行查询。'defect_image'"defect_image""defect_image""defect_image""defect_image""defect_image" 可通过 get_structured_light_objectget_structured_light_objectGetStructuredLightObjectGetStructuredLightObjectGetStructuredLightObjectget_structured_light_object 生成并查询。有关可查询对象的详细信息,请参阅算子文档。

其他算子

结构光模型提供了多种其他算子,用于访问和更新模型的各项参数。

算子 write_structured_light_modelwrite_structured_light_modelWriteStructuredLightModelWriteStructuredLightModelWriteStructuredLightModelwrite_structured_light_model 可将结构光模型写入文件。请注意,此文件不会包含先前生成的图案图像。结构光模型文件可通过 read_structured_light_modelread_structured_light_modelReadStructuredLightModelReadStructuredLightModelReadStructuredLightModelread_structured_light_model 进行读取。

此外,可通过 serialize_structured_light_modelserialize_structured_light_modelSerializeStructuredLightModelSerializeStructuredLightModelSerializeStructuredLightModelserialize_structured_light_modeldeserialize_structured_light_modeldeserialize_structured_light_modelDeserializeStructuredLightModelDeserializeStructuredLightModelDeserializeStructuredLightModeldeserialize_structured_light_model 算子对结构光模型进行序列化和反序列化操作。

更多信息

另请参阅 “解决方案指南基础篇” 以获取更多详细信息。


算子列表

clear_structured_light_modelClearStructuredLightModelclear_structured_light_modelClearStructuredLightModelclear_structured_light_model清除结构光模型
清除结构光模型并释放分配的内存。
create_structured_light_modelCreateStructuredLightModelcreate_structured_light_modelCreateStructuredLightModelcreate_structured_light_model创建结构化光模型
创建结构光模型。
decode_structured_light_patternDecodeStructuredLightPatterndecode_structured_light_patternDecodeStructuredLightPatterndecode_structured_light_pattern解码结构化光图案
对使用结构光设置获取的相机图像进行解码。
deserialize_structured_light_modelDeserializeStructuredLightModeldeserialize_structured_light_modelDeserializeStructuredLightModeldeserialize_structured_light_model反序列化结构化光模型
反序列化结构光模型。
gen_structured_light_patternGenStructuredLightPatterngen_structured_light_patternGenStructuredLightPatterngen_structured_light_pattern生成结构化光图案
生成要在结构光设置中显示的图案图像。
get_structured_light_model_paramGetStructuredLightModelParamget_structured_light_model_paramGetStructuredLightModelParamget_structured_light_model_param获取结构光模型参数
查询结构光模型的参数。
get_structured_light_objectGetStructuredLightObjectget_structured_light_objectGetStructuredLightObjectget_structured_light_object获取结构光对象
获得结构光模型的(中间)图标结果。
read_structured_light_modelReadStructuredLightModelread_structured_light_modelReadStructuredLightModelread_structured_light_model读取结构光模型
从文件中读取结构光模型。
serialize_structured_light_modelSerializeStructuredLightModelserialize_structured_light_modelSerializeStructuredLightModelserialize_structured_light_model序列化结构化光模型
序列化结构光模型。
set_structured_light_model_paramSetStructuredLightModelParamset_structured_light_model_paramSetStructuredLightModelParamset_structured_light_model_param设置结构化光模型参数
设置结构光模型的参数。
write_structured_light_modelWriteStructuredLightModelwrite_structured_light_modelWriteStructuredLightModelwrite_structured_light_model写入结构化光模型
将结构光模型写入文件。