gpt4 book ai didi

image - Keras 实时增强添加噪声和对比度

转载 作者:行者123 更新时间:2023-11-30 08:43:43 25 4
gpt4 key购买 nike

Keras 提供了 ImageDataGenerator实时增强类,但不包括对比度调整和噪声添加。

我们如何在训练期间应用随机噪声水平和随机对比度调整?这些函数可以添加到数据生成中的“preprocessing_function”参数中吗?

谢谢。

最佳答案

您确实可以使用 preprocessing_function 添加噪音。

示例脚本:

import random
import numpy as np

def add_noise(img):
'''Add random noise to an image'''
VARIABILITY = 50
deviation = VARIABILITY*random.random()
noise = np.random.normal(0, deviation, img.shape)
img += noise
np.clip(img, 0., 255.)
return img

# Prepare data-augmenting data generator
from keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(
rescale=1./255,
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
zoom_range=0.2,
preprocessing_function=add_noise,
)

# Load a single image as our example
from keras.preprocessing import image
img_path = 'cat_by_irene_mei_flickr.png'
img = image.load_img(img_path, target_size=(299,299))

# Generate distorted images
images = [img]
img_arr = image.img_to_array(img)
img_arr = img_arr.reshape((1,) + img_arr.shape)
for batch in datagen.flow(img_arr, batch_size=1):
images.append( image.array_to_img(batch[0]) )
if len(images) >= 4:
break

# Display
import matplotlib.pyplot as plt
f, xyarr = plt.subplots(2,2)
xyarr[0,0].imshow(images[0])
xyarr[0,1].imshow(images[1])
xyarr[1,0].imshow(images[2])
xyarr[1,1].imshow(images[3])
plt.show()

脚本生成的示例图像:

Four images of a cat with varying modification and levels of noise

关于image - Keras 实时增强添加噪声和对比度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43382045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com