为什么归一化后输出图像是黑色的?
Why is output image black after normalization?
我有很多灰度图像,我想使用均值和标准差对其进行归一化。我使用以下流程:
计算图像的均值和标准差。
从图像中减去平均值。
将生成的图像除以标准差。
但是,结果我得到了一张黑色图像。我的代码有什么问题?
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
输入图像:
灰度输出:
标准化图像输出:
保存图像时需要考虑数据类型。将归一化后的图片保存为png格式,需要将归一化后的值缩放到整数范围(如[0, 255])或者使用支持浮点数格式的图片格式。
使用 z-score 归一化时(如在您的代码中),您可以将其保存为 png
image -= image.min()
image /= image.max()
image *= 255 # [0, 255] range
cv2.imwrite("Normalized Image.png", image)
我有很多灰度图像,我想使用均值和标准差对其进行归一化。我使用以下流程:
计算图像的均值和标准差。
从图像中减去平均值。
将生成的图像除以标准差。
但是,结果我得到了一张黑色图像。我的代码有什么问题?
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
输入图像:
灰度输出:
标准化图像输出:
保存图像时需要考虑数据类型。将归一化后的图片保存为png格式,需要将归一化后的值缩放到整数范围(如[0, 255])或者使用支持浮点数格式的图片格式。
使用 z-score 归一化时(如在您的代码中),您可以将其保存为 png
image -= image.min()
image /= image.max()
image *= 255 # [0, 255] range
cv2.imwrite("Normalized Image.png", image)