Spaces:
Running
on
Zero
Running
on
Zero
| # Copyright (c) Meta Platforms, Inc. and affiliates. | |
| # All rights reserved. | |
| # | |
| # This source code is licensed under the license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| from typing import Optional | |
| import numpy as np | |
| from mmcv.transforms import LoadImageFromFile | |
| from mmpose.registry import TRANSFORMS | |
| class LoadImage(LoadImageFromFile): | |
| """Load an image from file or from the np.ndarray in ``results['img']``. | |
| Required Keys: | |
| - img_path | |
| - img (optional) | |
| Modified Keys: | |
| - img | |
| - img_shape | |
| - ori_shape | |
| - img_path (optional) | |
| Args: | |
| to_float32 (bool): Whether to convert the loaded image to a float32 | |
| numpy array. If set to False, the loaded image is an uint8 array. | |
| Defaults to False. | |
| color_type (str): The flag argument for :func:``mmcv.imfrombytes``. | |
| Defaults to 'color'. | |
| imdecode_backend (str): The image decoding backend type. The backend | |
| argument for :func:``mmcv.imfrombytes``. | |
| See :func:``mmcv.imfrombytes`` for details. | |
| Defaults to 'cv2'. | |
| backend_args (dict, optional): Arguments to instantiate the preifx of | |
| uri corresponding backend. Defaults to None. | |
| ignore_empty (bool): Whether to allow loading empty image or file path | |
| not existent. Defaults to False. | |
| """ | |
| def transform(self, results: dict) -> Optional[dict]: | |
| """The transform function of :class:`LoadImage`. | |
| Args: | |
| results (dict): The result dict | |
| Returns: | |
| dict: The result dict. | |
| """ | |
| if 'img' not in results: | |
| # Load image from file by :meth:`LoadImageFromFile.transform` | |
| results = super().transform(results) | |
| else: | |
| img = results['img'] | |
| assert isinstance(img, np.ndarray) | |
| if self.to_float32: | |
| img = img.astype(np.float32) | |
| if 'img_path' not in results: | |
| results['img_path'] = None | |
| results['img_shape'] = img.shape[:2] | |
| results['ori_shape'] = img.shape[:2] | |
| return results | |