1.Numpy常见数据类型
类型 | 类型代码 | 说明 |
---|---|---|
int8、uint8 | i1、u1 | 有符号和无符号的8位(1个字节)整型 |
int16、uint16 | i2、u2 | 有符号和无符号的16位(2个字节)整型 |
int32、uint32 | i4、u4 | 有符号和无符号的32位(4个字节)整型 |
int64、uint64 | i8、u8 | 有符号和无符号的64位(8个字节) 整型 |
float16 | f2 | 半精度浮点数 |
float32 | f4或f | 标准的单精度浮点数。与C的float兼容 |
float64 | f8或d | 标准的双精度浮点数。与C的double和Python的float对象兼容 |
float128 | f16或g | 扩展精度浮点数 |
complex64、complex128、complex256 | c8、c16、c32 | 分别用两个32位、64位或128位浮点数表示的复数 |
bool | ? | 存储True和False值的布尔类型 |
2. 指定创建的数组的数据类型
>> a = np.array([1,0,1,0],dtype = np.bool)
>> print(a)
out:[ True False True False]
opencv生成空图时指定数据类型为np.uint8(常见操作)
# 生成一张全零矩阵,矩阵大小为512*512*3,数据类型为np.uint8
img = np.zeros((512,512,3), np.uint8)
# 将整幅空图做255填充
img.fill(255)
3.更改数据类型(astype)
>> a = np.array([1,0,1,0],dtype = np.bool)
>> b = a.astype(np.int8)
>> c = a.astype(np.float32)
>> print(f"np.int8数据类型:{b}")
>> print(f"np.float32数据类型:{c}")
out: np.int8数据类型:[1 0 1 0]
np.float32数据类型:[1. 0. 1. 0.]