def augment_kanji(kanji, augmentation_idx):
angle = np.random.randint(0,360) * (np.pi / 180.0)
dist = np.random.randint(0,aug_translation_max_dist)
x = int(math.cos(angle) * dist)
y = int(math.sin(angle) * dist)
augmented = np.roll(kanji, [y, x], axis=[0, 1])
#angle_step = (np.pi * 2.0) / float(num_augmentations+1)
#angle = angle_step + (angle_step * float(augmentation_idx))
#angle *= (180.0 / np.pi) # degrees
rot_angle = np.random.randint(-2, 2)
augmented = scipy.misc.imrotate(augmented, rot_angle, interp="bilinear")
pad_max = 12
pad_w = np.random.randint(0, pad_max)
pad_h = pad_w
augmented = np.pad(augmented, ((pad_h, pad_h), (pad_w, pad_w)), mode="constant")
augmented = scipy.misc.imresize(augmented, [kanji_height, kanji_width])
augmented = skimage.img_as_float(augmented).astype(np.float32)
noise = np.random.uniform(low=0.1, high=0.5)
augmented += np.random.uniform(low=-noise, high=noise, size=augmented.shape)
augmented = np.maximum(0.0, np.minimum(augmented, 1.0))
return augmented
create_kanji_dataset.py 文件源码
python
阅读 34
收藏 0
点赞 0
评论 0
评论列表
文章目录