in data/image_transforms.py [0:0]
def __init__(self, crop_size,
crop_type='random_crop',
make_square=False,
aspect_ratio=[1.0, 1.0],
slen=[224, 288],
interpolation=cv2.INTER_LINEAR):
# random scale
assert slen[1] >= slen[0], \
"slen ({}) should be in increase order".format(scale)
assert aspect_ratio[1] >= aspect_ratio[0], \
"aspect_ratio ({}) should be in increase order".format(aspect_ratio)
self.slen = slen # [min factor, max factor]
self.aspect_ratio = None if aspect_ratio[0] * aspect_ratio[1] == 1. else aspect_ratio
self.make_square = make_square
# random crop
if isinstance(crop_size, int):
self.crop_size = (crop_size, crop_size)
else:
self.crop_size = crop_size
if crop_type == 'random_crop':
self.func_crop = self.random_crop
elif crop_type == 'center_crop':
self.func_crop = self.center_crop
elif crop_type == 'mixed_crop':
self.func_crop = self.mixed_crop
else:
raise NotImplementedError
# others
self.interpolation = interpolation
self.rng = np.random.RandomState(0)