python - 如何使用均值和标准对图像进行归一化?
问题描述
我正在尝试使用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计算平均值和标准值:
mean = np.mean(image_list) # 47.08389527329749
std = np.std(image_list) # 125.64995558389833
但结果图像是相似的:
前:
邮政:
我在这里做错了什么?
解决方案
您应该打印矩阵的数值而不是绘制图像。我认为过程很顺利。 归一化的目的是使给定区间中的值居中,这里是标准正态分布的值,如果您使用多个属性,则设置相同的范围。它不应该消除给定属性值之间的相对差异,这里是像素强度。
推荐阅读
- c++ - 找出导致总和小于或等于阈值的三元组数量的代码给出了错误的输出
- ajax - 带有横向导航栏的 Django 单页网站
- c# - 使用 ASP GridView 中的删除按钮删除行
- python - 如何安装openpyxl==2.2.0b1
- bean-io - 使用 beanio (beanio.org) 编写平面文件。pojo 有父类
- java - 为对象列表优化 fastxml ObjectMapper
- google-maps - Google Maps API 是否使用移动 GPS 以不同的旅行方式跟踪距离?
- asp.net - 在 GoDaddy Windows 主机上与 WordPress 网站一起托管 ASP.NET Web API
- android - Kotlin 中的 Android Room Bug
- elasticsearch - 在每个文档中查找数组类型字段的长度(大小)