gpt4 book ai didi

python - Matplotlib (Python) 标准化数据

转载 作者:太空宇宙 更新时间:2023-11-03 17:51:36 25 4
gpt4 key购买 nike

我正在尝试标准化一些(红外)热成像数据,以便稍后显示。

但是我陷入了标准化,我当然可以手动完成,但我想知道为什么 matplotlib 代码不起作用,python 代码如下所示:

import numpy as N
import matplotlib.colors as colors

test2 = N.array([100, 10, 95])
norm = colors.Normalize(0,100)
for pix in N.nditer(test2, op_flags=['readwrite']):
val = (norm.process_value(pix)[0])
print (val)

img = norm.process_value(test2)[0]
print(img)

现在我希望 vals OR img 显示正确的处理数据。取决于 matplotlib.colors.Normalize.process_value 实际应该获取什么作为参数。

但无论如何:两个函数都不会标准化,只是返回原始函数。根本不在 [0, 1] 区间内。

最佳答案

documentation of Normalize这里可能有点欺骗:process_value 是一个仅用于预处理(并且静态)的函数。实际用法用这句话描述:

A class which, when called, can normalize data into the [0.0, 1.0] interval.

因此,当您调用该类时,就会发生标准化:

import numpy as N
import matplotlib.colors as colors

test2 = N.array([100, 10, 95])
norm = colors.Normalize(0,100)
for pix in N.nditer(test2, op_flags=['readwrite']):
val = (norm(pix))
print (val)

img = norm(test2)
print(img)

输出:

1.0
0.1
0.95
[ 1. 0.1 0.95]

关于python - Matplotlib (Python) 标准化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com