コード例 #1
0
def _reconstruction_from_rigs_and_assignments(data: DataSetBase):
    assignments = data.load_rig_assignments()
    models = data.load_rig_models()

    if not data.reference_lla_exists():
        data.invent_reference_lla()

    base_rotation = np.zeros(3)

    reconstructions = []
    for rig_id, instances in assignments.items():
        rig_cameras = models[rig_id]["rig_cameras"]

        reconstruction = types.Reconstruction()
        reconstruction.cameras = data.load_camera_models()
        for instance in instances:
            for image, camera_id in instance:
                rig_camera = rig_cameras[camera_id]
                rig_pose = pygeometry.Pose(base_rotation)
                rig_pose.set_origin(
                    orec.get_image_metadata(data, image).gps_position.value)
                rig_camera_pose = pygeometry.Pose(rig_camera["rotation"],
                                                  rig_camera["translation"])

                d = data.load_exif(image)
                shot = reconstruction.create_shot(image, d["camera"])
                shot.pose = rig_camera_pose.compose(rig_pose)
                shot.metadata = orec.get_image_metadata(data, image)

        reconstructions.append(reconstruction)
    return reconstructions
コード例 #2
0
def _reconstruction_from_rigs_and_assignments(data: DataSetBase):
    assignments = data.load_rig_assignments()
    rig_cameras = data.load_rig_cameras()

    data.init_reference()

    reconstruction = types.Reconstruction()
    reconstruction.cameras = data.load_camera_models()
    for rig_instance_id, instance in assignments.items():
        for image, rig_camera_id in instance:
            rig_camera = rig_cameras[rig_camera_id]
            reconstruction.add_rig_camera(
                pymap.RigCamera(rig_camera.pose, rig_camera_id))

            instance_obj = reconstruction.add_rig_instance(
                pymap.RigInstance(rig_instance_id))
            instance_obj.pose.set_origin(
                helpers.get_image_metadata(data, image).gps_position.value)

            d = data.load_exif(image)
            shot = reconstruction.create_shot(
                image,
                camera_id=d["camera"],
                rig_camera_id=rig_camera_id,
                rig_instance_id=rig_instance_id,
            )
            shot.metadata = helpers.get_image_metadata(data, image)
    return [reconstruction]