上一主题

numpy.right_shift

下一主题

numpy.unpackbits

numpy.packbits

numpy.packbits(myarray, axis=None)

将二进制值数组的元素包含在uint8数组中的位中。

通过在末尾插入零位将结果填充为全字节。

参数:

myarray:array_like

整数类型数组,其元素应打包为位。

axis:int,可选

进行位打包的尺寸。None意味着压缩数组。

返回:

打包:ndarray

uint8的数组,其元素表示对应于输入元素的逻辑(0或非零)值的位。打包的形状与输入具有相同的维数(除非为无,在这种情况下输出为1-D)。

也可以看看

unpackbits
将uint8数组的元素解包成二进制值输出数组。

例子

>>> a = np.array([[[1,0,1],
...                [0,1,0]],
...               [[1,1,0],
...                [0,0,1]]])
>>> b = np.packbits(a, axis=-1)
>>> b
array([[[160],[64]],[[192],[32]]], dtype=uint8)

注意,在二进制160 = 1010 0000,64 = 0100 0000,192 = 1100 0000和32 = 0010 0000中。