| |
| import os |
|
|
| import mmcv |
|
|
|
|
| def drop_orientation(img_file): |
| """Check if the image has orientation information. If yes, ignore it by |
| converting the image format to png, and return new filename, otherwise |
| return the original filename. |
| |
| Args: |
| img_file(str): The image path |
| |
| Returns: |
| The converted image filename with proper postfix |
| """ |
| assert isinstance(img_file, str) |
| assert img_file |
|
|
| |
| img = mmcv.imread(img_file, 'unchanged') |
| |
| img_color = mmcv.imread(img_file, 'color') |
| |
| if img.shape[:2] == img_color.shape[:2]: |
| return img_file |
|
|
| target_file = os.path.splitext(img_file)[0] + '.png' |
| |
| img = mmcv.imread(img_file, 'unchanged') |
| mmcv.imwrite(img, target_file) |
| os.remove(img_file) |
| print(f'{img_file} has orientation info. Ignore it by converting to png') |
| return target_file |
|
|
|
|
| def is_not_png(img_file): |
| """Check img_file is not png image. |
| |
| Args: |
| img_file(str): The input image file name |
| |
| Returns: |
| The bool flag indicating whether it is not png |
| """ |
| assert isinstance(img_file, str) |
| assert img_file |
|
|
| suffix = os.path.splitext(img_file)[1] |
|
|
| return suffix not in ['.PNG', '.png'] |
|
|