create_camera_setup_modelT_create_camera_setup_modelCreateCameraSetupModelCreateCameraSetupModelcreate_camera_setup_model创建相机设置模型(算子)

名称

create_camera_setup_modelT_create_camera_setup_modelCreateCameraSetupModelCreateCameraSetupModelcreate_camera_setup_model — 为标定的相机设置创建模型。

签名

create_camera_setup_model( : : NumCameras : CameraSetupModelID)

Herror T_create_camera_setup_model(const Htuple NumCameras, Htuple* CameraSetupModelID)

void CreateCameraSetupModel(const HTuple& NumCameras, HTuple* CameraSetupModelID)

void HCameraSetupModel::HCameraSetupModel(Hlong NumCameras)

void HCameraSetupModel::CreateCameraSetupModel(Hlong NumCameras)

static void HOperatorSet.CreateCameraSetupModel(HTuple numCameras, out HTuple cameraSetupModelID)

public HCameraSetupModel(int numCameras)

void HCameraSetupModel.CreateCameraSetupModel(int numCameras)

def create_camera_setup_model(num_cameras: int) -> HHandle

描述

算子 create_camera_setup_modelcreate_camera_setup_modelCreateCameraSetupModelCreateCameraSetupModelCreateCameraSetupModelcreate_camera_setup_model 创建一个新的相机设置模型,并将该模型的句柄存储在 CameraSetupModelIDCameraSetupModelIDCameraSetupModelIDCameraSetupModelIDcameraSetupModelIDcamera_setup_model_id 中。相机设置包含固定数量的相机,该数量由 NumCamerasNumCamerasNumCamerasNumCamerasnumCamerasnum_cameras 指定,且模型创建后不可更改。对于每个相机,设置存储其内部参数、内部参数的协方差(可选)以及相机的姿态。

通过调用 set_camera_setup_paramset_camera_setup_paramSetCameraSetupParamSetCameraSetupParamSetCameraSetupParamset_camera_setup_param,可改变相机所处的坐标系:既可选定某台相机并将所有相机姿态转换为相对于该相机的姿态,也可应用全局坐标变换,将整个相机设置的坐标系移动至任意姿态。改变相机设置的坐标系在特定场景下尤为实用,例如当您需要将相机置于被观察对象的坐标系中进行呈现时。下例将进一步阐释该概念。

相机的内部参数和姿态可通过 set_camera_setup_cam_paramset_camera_setup_cam_paramSetCameraSetupCamParamSetCameraSetupCamParamSetCameraSetupCamParamset_camera_setup_cam_param 进行设置或修改。其他相机参数及通用设置参数也可通过 set_camera_setup_paramset_camera_setup_paramSetCameraSetupParamSetCameraSetupParamSetCameraSetupParamset_camera_setup_param 进行配置。所有参数均可通过 get_camera_setup_paramget_camera_setup_paramGetCameraSetupParamGetCameraSetupParamGetCameraSetupParamget_camera_setup_param 读取。

相机设置模型可通过 write_camera_setup_modelwrite_camera_setup_modelWriteCameraSetupModelWriteCameraSetupModelWriteCameraSetupModelwrite_camera_setup_model 保存至文件,并通过 read_camera_setup_modelread_camera_setup_modelReadCameraSetupModelReadCameraSetupModelReadCameraSetupModelread_camera_setup_model 读取。

执行信息

此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。

参数

NumCamerasNumCamerasNumCamerasNumCamerasnumCamerasnum_cameras (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

设置中的相机数量。

默认值: 2

建议值: 1, 2, 3, 4

限制: NumCameras >= 1

CameraSetupModelIDCameraSetupModelIDCameraSetupModelIDCameraSetupModelIDcameraSetupModelIDcamera_setup_model_id (输出控制)  camera_setup_model HCameraSetupModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

相机设置模型的句柄。

示例(HDevelop)

* Create camera setup of three cameras.
create_camera_setup_model (3, CameraSetupModelID)
gen_cam_par_area_scan_division (0.006, 0, 8.3e-6, 8.3e-6,\
              512, 384, 1024, 768, StartCamPar)
* Camera 0 is located in the origin.
set_camera_setup_cam_param (CameraSetupModelID, 0, [], StartCamPar,\
                            [0, 0, 0, 0, 0, 0, 0])

* Camera 1 is shifted 0.07 m in positive x-direction relative to
* camera 0.
set_camera_setup_cam_param (CameraSetupModelID, 1, [], StartCamPar,\
                            [0.07, 0, 0, 0, 0, 0, 0])

* Camera 2 is shifted 0.1 m in negative y-direction relative to
* camera 0.
set_camera_setup_cam_param (CameraSetupModelID, 2, [], StartCamPar,\
                            [0.0, -0.1, 0, 0, 0, 0, 0])

* There is an object, which is 0.5 away from the origin in
* z-direction, and is facing the origin.
ObjectPose := [0, 0, 0.5, 180, 0, 0, 0]
* Place the setup's origin in the object.
set_camera_setup_param (CameraSetupModelID, 'general', 'coord_transf_pose',\
                        ObjectPose)

* Now the camera poses are given relative to the object.
get_camera_setup_param (CameraSetupModelID, 0, 'pose', CamPose0)
* CamPose0 is equivalent to [0.0, 0.0, 0.5, 180.0, 0.0, 0.0, 0]

get_camera_setup_param (CameraSetupModelID, 1, 'pose', CamPose1)
* CamPose1 is equivalent to [0.07, 0.0, 0.5, 180.0, 0.0, 0.0, 0]

get_camera_setup_param (CameraSetupModelID, 2, 'pose', CamPose2)
* CamPose2 is equivalent to [0.0, 0.1, 0.5, 180.0, 0.0, 0.0, 0]

可能的后继

set_camera_setup_paramset_camera_setup_paramSetCameraSetupParamSetCameraSetupParamSetCameraSetupParamset_camera_setup_param

模块

标定