У меня есть много изображений в градациях серого, которые я хочу нормализовать, используя среднее значение и стандартное отклонение. Я использую следующий процесс:
Рассчитать среднее значение изображения и стандартное отклонение.
Вычесть среднее значение из изображения.
Разделите полученное изображение на стандартное отклонение.
Однако в результате я получил черное изображение. Что не так в моем коде?
import cv2
img = cv2.imread('E.png') # read an image
gray_image = cv2.cvtColor(img , cv2.COLOR_BGR2GRAY) # converting the image to grayscale image
img = cv2.resize(gray_image, (60, 60)) # Resize the image to the size 60x60 pixels
cv2.imwrite("Grayscale Image.png",img) #To write the result
mean, stdDev = cv2.meanStdDev(img) #Get Mean and Standard-deviation
image = (img-mean)/stdDev #Normalization process
cv2.imwrite("Normalized Image.png",image) #To write the result
Входное изображение:
Вывод в оттенках серого:
Нормализованный вывод изображения: