本章包含用于多视角三维重建的算子。
通过多视角三维重建技术,可利用多台相机拍摄的二维图像生成三维对象。该技术既能重建对象的完整三维表面,也能重建单个三维点。
以下简要描述了重建表面和点所需的步骤。请注意,精确的三维重建主要依赖于经过良好校准的相机设置;更多细节请参阅
标定 部分。此外,在HDevelop示例 reconstruct_surface_mixed_camera_types.hdev 中,执行了典型的标定工作流程(从标定数据模型经相机设置模型到立体模型)。
首先,创建立体模型,使用算子
若需重建三维点,请选择 Method'points_3d' 方法。
'points_3d' 进行三维点重建。
对于表面重建,可使用
'surface_pairwise' 和 'surface_fusion' 两种方法。有关这两种方法的详细信息,请参阅 的参考手册条目。reconstruct_surface_stereo
| ( 1) | ( 2) | ( 3) |
| ( 1) | ( 2) | ( 3) |
'surface_pairwise' 进行表面重建。(2) 使用 'surface_fusion' 进行表面重建。(3) 使用 'surface_fusion' 进行表面重建,其中颜色信息从使用的二维图像中提取。请参阅 HDevelop 示例
reconstruct_surface_mixed_camera_types.hdev 以查看三维重建过程。
对于三维表面的重建,需执行多次双目立体重建操作,随后进行融合处理。双目重建过程中需指定图像对。例如,针对上图所示的三幅图像,可能的图像对组合为 [0,1] 和
[1,2]。必须指定图像对,使用算子
并查询图像对通过
有关更多信息,请参阅 以及上述算子。
reconstruct_surface_stereo
通过
您可以优化三维重建设置以适应您的设备配置。
在重建表面时,强烈建议使用尽可能紧贴待重建对象的边界框来限制三维重建范围。
set_stereo_model_param 设置,用于限制对象重建的区域,从而可大幅缩短运行时间。
在 中使用
create_stereo_model'surface_fusion' 方法时,建议先优化 Method'surface_pairwise' 方法的参数,因为该方法作为基础方法。有关参数的详细信息,请参阅示例文件
Methodreconstruct_surface_stereo_pairwise_workflow.hdev 和
reconstruct_surface_stereo_fusion_workflow.hdev。
您可以查询已设置的参数,通过算子
然后,要执行实际的重建,使用算子
请注意,要查询这些中间结果,必须在执行重建前使用
为立体模型启用
set_stereo_model_param'persistence' 模式。
通过
可访问并检查使用 执行的表面重建的中间结果。这些图像可用于排查重建过程中的问题。
reconstruct_surface_stereo
通过
可获取使用
重建的三维对象模型,该模型作为中间结果通过 reconstruct_surface_stereo'surface_fusion' 方法生成。
Method
clear_stereo_model清除立体模型create_stereo_model创建立体模型get_stereo_model_image_pairs获取立体模型图像对get_stereo_model_object获取立体模型对象get_stereo_model_object_model_3d获取立体模型对象模型三维get_stereo_model_param获取立体模型参数reconstruct_points_stereo重建点立体reconstruct_surface_stereo重建表面立体set_stereo_model_image_pairs设置立体模型图像对set_stereo_model_param设置立体模型参数