如何将数组值 0 和 255 转换为对应的 0 和 1 数组

mat*_*ang 2 python numpy

我有一个表示为 numpy 数组的图像,其值为 0 和 255(范围内没有其他值)。将其转换为 0 和 1 数组的最佳方法是什么。

Ofe*_*dan 8

my_array = np.array([255,255,0,0])
my_array = my_array / 255
Run Code Online (Sandbox Code Playgroud)

会输出

array([ 1., 1., 0., 0.])
Run Code Online (Sandbox Code Playgroud)

换句话说,它将致力于标准化 0-255 范围内的所有值(即使您说这是唯一的 2 个值,它也适用于介于两者之间的所有值,同时保持比率)


ran*_*mir 5

听起来像是一份工作numpy.clip

>>> a = np.array([0, 255, 0, 255, 255, 0])
>>> a.clip(max=1)
array([0, 1, 0, 1, 1, 0])
Run Code Online (Sandbox Code Playgroud)

从文档:

给定一个区间,区间外的值被剪裁到区间边缘。例如,如果指定区间 [0, 1],则小于 0 的值变为 0,大于 1 的值变为 1。