如何标准化 (-1,1) 之间的图像集

2 python matlab tensorflow pytorch

我有一个图像数据集,我想在将它们输入 NN 之前对它们进行归一化(-1,1),我该怎么做?

x=sample
#Normalized Data
normalized = (x-min(x))/(max(x)-min(x))

# Histogram of example data and normalized data
par(mfrow=c(1,2))
hist(x,          breaks=10, xlab="Data",            col="lightblue", main="")
hist(normalized, breaks=10, xlab="Normalized Data", col="lightblue", main="")

Run Code Online (Sandbox Code Playgroud)

我在网上找到了这段代码,但它没有解决我的问题,因为我有图像数据集

Max*_*mGi 5

假设您的图像img_arraynp.array

normalized_input = (img_array - np.amin(img_array)) / (np.amax(img_array) - np.amin(img_array))
Run Code Online (Sandbox Code Playgroud)

将您的数据标准化为 0 到 1 之间。

然后,2*normalized_input-1将其在 -1 和 1 之间移动

如果你想标准化多个图像,你可以将其设为一个函数:

def normalize_negative_one(img):
    normalized_input = (img - np.amin(img)) / (np.amax(img) - np.amin(img))
    return 2*normalized_input - 1
Run Code Online (Sandbox Code Playgroud)

然后迭代一个例如列表,称为图像元组imgs

for i,img in enumerate(imgs):
    imgs[i] = normalize_negative_one(img)
Run Code Online (Sandbox Code Playgroud)