Spaces:
Running
on
Zero
Running
on
Zero
import cv2 | |
import os | |
import os.path as osp | |
from pathlib import Path | |
class ImageCache: | |
data = {} | |
def get_image(name, to_rgb=False): | |
key = (name, to_rgb) | |
if key in ImageCache.data: | |
return ImageCache.data[key] | |
images_dir = osp.join(Path(__file__).parent.absolute(), 'images') | |
ext_names = ['.jpg', '.png', '.jpeg'] | |
image_file = None | |
for ext_name in ext_names: | |
_image_file = osp.join(images_dir, "%s%s"%(name, ext_name)) | |
if osp.exists(_image_file): | |
image_file = _image_file | |
break | |
assert image_file is not None, '%s not found'%name | |
img = cv2.imread(image_file) | |
if to_rgb: | |
img = img[:,:,::-1] | |
ImageCache.data[key] = img | |
return img | |