= np.array(range_vignette)
self.random_sign = random_sign
def __call__(self, X, Y):...-w/2, w/2, w), np.linspace(-h/2, h/2, h))
x, y = np.abs(x), np.abs(y)
# create the vignette...vignette = (x + y) / 2 * np.random.uniform(*self.range_vignette)
vignette = np.tile(...vignette[..., None], [1, 1, 3])
sign = 2 * (np.random.random() < 0.5) * (self.random_sign) -...1
X = X * (1 + sign * vignette)
return X, Y
镜头变形
最后,这是一种非常好的方法。