Exemplo n.º 1
0
 def _set_rgb_props(rgb_cam: VisionSensor, rgb: bool, depth: bool,
                    conf: CameraConfig):
     if not (rgb or depth):
         rgb_cam.remove()
     else:
         rgb_cam.set_resolution(conf.image_size)
         rgb_cam.set_render_mode(conf.render_mode)
Exemplo n.º 2
0
 def _set_mask_props(mask_cam: VisionSensor, mask: bool,
                     conf: CameraConfig):
     if not mask:
         mask_cam.remove()
     else:
         mask_cam.set_explicit_handling(1)
         mask_cam.set_resolution(conf.image_size)
Exemplo n.º 3
0
class RattlerCamera(object):
    def __init__(self):
        self._head_camera = VisionSensor('rattler_eye')
        self._head_camera_mask = None
        self._head_camera_state = 1

    def get_camera_state(self) -> int:
        return self._head_camera_state

    def set_camera_state(self, state: int) -> None:
        self._head_camera_state = state

    def set_camera_properties(self, conf: CameraConfig) -> None:
        if not (conf.rgb or conf.depth):
            self._head_camera.remove()
        else:
            self._head_camera.set_resolution(conf.image_size)
            self._head_camera.set_render_mode(conf.render_mode)

        if conf.mask:
            self._head_camera_mask = self._head_camera.copy()
            self._head_camera_mask.set_render_mode(
                RenderMode.OPENGL_COLOR_CODED)

    def capture_rgb(self) -> np.ndarray:
        return self._head_camera.capture_rgb()

    def capture_depth(self) -> np.ndarray:
        return self._head_camera.capture_depth()

    def mask(self) -> VisionSensor:
        return self._head_camera_mask