def gauss_distort(images,maxdelta=2.0,sigma=10.0):
n,m = images[0].shape
deltas = randn(2,n,m)
deltas = gaussian_filter(deltas,(0,sigma,sigma))
deltas /= max(amax(deltas),-amin(deltas))
deltas *= maxdelta
xy = transpose(array(meshgrid(range(n),range(m))),axes=[0,2,1])
# print(xy.shape, deltas.shape)
deltas += xy
return [map_coordinates(image,deltas,order=1) for image in images]
评论列表
文章目录