Get image its Camera_group, Camera_id, Image_type and Frame_id Args: Camera_group (str): Camera_group in ['Camera_12mp', 'Camera_5mp','Kinect']. Camera_id (int/str of a number): CameraID (str) in {'Camera_5mp': '0'
(self, Camera_group, Camera_id, Image_type,Frame_id=None,disable_tqdm=True)
| 226 | return np.stack(rs,axis=0) |
| 227 | |
| 228 | def get_img(self, Camera_group, Camera_id, Image_type,Frame_id=None,disable_tqdm=True): |
| 229 | """Get image its Camera_group, Camera_id, Image_type and Frame_id |
| 230 | |
| 231 | Args: |
| 232 | Camera_group (str): |
| 233 | Camera_group in ['Camera_12mp', 'Camera_5mp','Kinect']. |
| 234 | Camera_id (int/str of a number): |
| 235 | CameraID (str) in |
| 236 | {'Camera_5mp': '0'~'47', |
| 237 | 'Camera_12mp':'48'~'60', |
| 238 | 'Kinect': '0'~'7'} |
| 239 | Image_type(str) in |
| 240 | {'Camera_5mp': ['color'], |
| 241 | 'Camera_12mp': ['color'], |
| 242 | 'Kinect': ['depth', 'mask']} |
| 243 | Frame_id a.(int/str of a number): '0' ~ 'num_frame'('149') |
| 244 | b.list of numbers (int/str) |
| 245 | c.None: get batch of all imgs in order of time sequence |
| 246 | Returns: |
| 247 | a single img : |
| 248 | 'color': HWC in bgr (uint8) |
| 249 | 'mask' : HW (uint8) |
| 250 | 'depth': HW (uint16) |
| 251 | """ |
| 252 | if not Camera_group in self.smc: |
| 253 | print("=== no key: %s.\nplease check available keys!" % Camera_group) |
| 254 | return None |
| 255 | |
| 256 | assert(Camera_group in ['Camera_12mp', 'Camera_5mp','Kinect']) |
| 257 | Camera_id = str(Camera_id) |
| 258 | assert(Camera_id in self.smc[Camera_group].keys()) |
| 259 | assert(Image_type in self.smc[Camera_group][Camera_id].keys()) |
| 260 | assert(isinstance(Frame_id,(list,int, str, type(None)))) |
| 261 | if isinstance(Frame_id, (str,int)): |
| 262 | Frame_id = str(Frame_id) |
| 263 | assert(Frame_id in self.smc[Camera_group][Camera_id][Image_type].keys()) |
| 264 | if Image_type in ['color']: |
| 265 | img_byte = self.smc[Camera_group][Camera_id][Image_type][Frame_id][()] |
| 266 | img_color = self.__read_color_from_bytes__(img_byte) |
| 267 | if Image_type == 'mask': |
| 268 | img_byte = self.smc[Camera_group][Camera_id][Image_type][Frame_id][()] |
| 269 | img_color = self.__read_color_from_bytes__(img_byte) |
| 270 | img_color = np.max(img_color,2) |
| 271 | if Image_type == 'depth': |
| 272 | img_color = self.smc[Camera_group][Camera_id][Image_type][Frame_id][()] |
| 273 | return img_color |
| 274 | else: |
| 275 | if Frame_id is None: |
| 276 | Frame_id_list =sorted([int(l) for l in self.smc[Camera_group][Camera_id][Image_type].keys()]) |
| 277 | elif isinstance(Frame_id, list): |
| 278 | Frame_id_list = Frame_id |
| 279 | rs = [] |
| 280 | for fi in tqdm(Frame_id_list, disable=disable_tqdm): |
| 281 | rs.append(self.get_img(Camera_group, Camera_id, Image_type,fi)) |
| 282 | return np.stack(rs,axis=0) |
| 283 | |
| 284 | ###Keypoints2d |
| 285 | def get_Keypoints2d(self, Camera_id, Frame_id=None): |
no test coverage detected