如何使用均值和标准差对图像进行归一化?

时间:2019-05-03 15:01:39

标签: python numpy image-processing normalization

我正在尝试使用 numpy 对一组MRI图像进行归一化,但似乎不起作用。简化的代码是:

img = nib.load(img_path).get_data() #img is a numpy array
print("pre\n============================")
plt.imshow(img[:,:,100])
plt.ioff()
plt.show()

img = (img - 47.08389527329749)/125.64995558389833

print("post\n============================")
plt.imshow(img[:,:,100])
plt.ioff()
plt.show()

要使用numpy计算平均值 std 值:

mean = np.mean(image_list) # 47.08389527329749
std = np.std(image_list) # 125.64995558389833

但结果图像相似:

  

前提:

enter image description here

  

帖子:

enter image description here

我在哪一部分做错了?

1 个答案:

答案 0 :(得分:1)

您应该打印矩阵的数值,而不要绘制图像。我认为过程进行得很好。 归一化的目的是在给定间隔中将值居中,此处是标准正态分布的值,如果使用多个属性,则设置相同的范围。不应删除给定属性值之间的相对差异,此处为像素强度。