我正在尝试将 .tiff 转换为数组,以便我可以将图像逐个像素地添加在一起,并对它们进行其他一些操作。我正在使用 numpy.fromstring() 和 im.tostring 进行转换。
def image2array(im):
newArr = numpy.fromstring(im.tostring(),numpy.uint16)
newArr2 = numpy.reshape(newArr,im.size)
return newArr2
根据文档, tostring 使用标准的“原始”编码器返回一个包含像素数据的字符串。fromstring 使用标准的“原始”解码器从字符串中的像素数据创建图像内存。
该代码有效,但我不太了解原始图像编码器的工作原理。数组是否生成了字符串数据,类似于可以解码为图像的位数据?或者它是实际的像素值?我正在尝试获取实际的像素值,所以我应该使用 im.getdata() 吗?