通过读取文件之后,生成的图像数据一般是二维或三维数组,每个数组元素是8位字节大小。有时候从网络里接收到一串数据,它是字节顺序的,比如有30000个字节,想要把它转换为300X100的图像大小,这个怎么样操作呢?又或者想转换三维数组的彩色图像呢?又或者想从二维或三维数组转换为单个字节顺序从网络发送出去?
通过下面的代码来构造一个bytearray数组,bytearray是可变的bytes数据类型,可以通过bytearray创建和定义。用下面代码来构造3万个随机字节:
randBytes = bytearray(os.urandom(30000))
os.urandom函数随即产生n个字节的字符串,可以作为随机加密key使用,在这里把这些数据当作图像使用。接着需要把bytearray的一维数组转换为np.array的一维数组,如下:
flat = np.array(randBytes)
这时就可以得到np.array数组的形式,就可以对数组进行变换了,比如变换为二维的