Matplotlib (Python) 归一化数据

Matplotlib (Python) normalizing data

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

但是我一直卡在归一化上,我当然可以手动完成,但我想知道为什么 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 或 img 显示正确的处理数据。取决于 matplotlib.colors.Normalize.process_value 实际上应该得到什么作为参数。

但无论如何:两个函数都没有规范化,只是 return 原始函数。根本不在 [0, 1] 区间。

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

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

因此,当您 调用 class:

时,规范化就会发生
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]