diff --git a/webots_ros2_driver/webots/lib/controller/python/controller/camera.py b/webots_ros2_driver/webots/lib/controller/python/controller/camera.py index 2a86cb4ee..9b16dfabf 100644 --- a/webots_ros2_driver/webots/lib/controller/python/controller/camera.py +++ b/webots_ros2_driver/webots/lib/controller/python/controller/camera.py @@ -76,10 +76,6 @@ def __init__(self, name: Union[str, int], sampling_period: int = None): self._enable = wb.wb_camera_enable self._get_sampling_period = wb.wb_camera_get_sampling_period super().__init__(name, sampling_period) - width = self.width - height = self.height - wb.wb_camera_get_image.restype = ctypes.POINTER(ctypes.c_ubyte * (4 * width * height)) - wb.wb_camera_recognition_get_segmentation_image.restype = ctypes.POINTER(ctypes.c_ubyte * (4 * width * height)) def getExposure(self) -> float: return self.exposure @@ -161,10 +157,12 @@ def setFov(self, f: float): @property def image(self) -> bytes: + wb.wb_camera_get_image.restype = ctypes.POINTER(ctypes.c_ubyte * (4 * self.width * self.height)) return bytes(wb.wb_camera_get_image(self._tag).contents) @property def segmentation_image(self) -> bytes: + wb.wb_camera_recognition_get_segmentation_image.restype = ctypes.POINTER(ctypes.c_ubyte * (4 * self.width * self.height)) return bytes(wb.wb_camera_recognition_get_segmentation_image(self._tag).contents) @property