只需在数组上使用
我在 numpy 中有一个数组,其中包含以下范围内的值:[0, 255] (ubyte)
,并希望将其重新映射到新的范围[0.0, 1.0](float)
x = [0, 127, 255]
应该成为
x = [0.0, 0.5, 1.0]
那篇帖子将一个数字范围转换为另一个范围,保持比率是非常通用的方法,如何重新映射范围,但没有解释如何在numpy中方便地做到这一点。
只需在数组上使用division
'/'
操作数:
这将应用操作element-wise
,因此您可以通过255
'divide'
array
,这将为您map
值,如下所示:
import numpy as np
x = np.array([0,127,255], dtype="uint8")
x = x / 255
这给了:
array([0, 0.49803922, 1])
它不会给出您的[0,0.5,1]
结果,因为127
不是255
的一半!