Как нормализовать набор изображений между (-1,1) - PullRequest
0 голосов
/ 04 мая 2019

У меня есть набор данных на изображениях, и я хотел бы нормализовать их, прежде чем передать их NN. Как я могу это сделать?

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="")

Я нашел этот код в Интернете, но он не решил мою проблему, так как у меня есть набор данных изображения

Ответы [ 2 ]

1 голос
/ 04 мая 2019

Предполагая, что ваше изображение img_array является np.array:

normalized_input = (img_array - np.amin(img_array)) / (np.amax(img_array) - np.amin(img_array))

Нормализует ваши данные между 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

Затем выполнить итерации, например, по списку, кортежу изображений с именем imgs:

for i,img in enumerate(imgs):
    imgs[i] = normalize_negative_one(img)
0 голосов
/ 04 мая 2019

Предполагая, что img является названием вашего изображения

import numpy as np
normalized = 2*[(img - img.min()) / (img.max() - img.min())] - 1

Должно дать вам нормализованное изображение между -1 и 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...