def combine(src, src_path): # make sure that dimensions are correct height, width, _ = src.shape # convert both images to RGB if necessary if src.shape[2] == 3: src = im.rgb_to_grayscale(images=src) # remove alpha channel if src.shape[2] == 4: src = src[:, :, :3] # 产生均值128,方差8192 的 gamma 分布 并将数据偏移到了0 - 256,并除以128,产生的数据范围[0,2] noise_arr = (np.random.gamma(25, 0.04, src.shape) - 1) # 将数据坏点(值为0)进行处理 # noise_arr = np.where(noise_arr == 0, 0.01, noise_arr ) # 原始数据 * gamma 噪声 combine_arr = ((src / 255) * (1 + noise_arr)) * 255 # restore_arr = (combine_arr / noise_arr) return np.concatenate((combine_arr, src), axis=1)
def grayscale(src): return im.grayscale_to_rgb(images=im.rgb_to_grayscale(images=src))