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]
嗯,我正在尝试标准化一些(红外)热成像数据,以便稍后显示。
但是我一直卡在归一化上,我当然可以手动完成,但我想知道为什么 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]