数字阵列()未将tiff图像转换为2D数组

2024-05-14 15:56:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在想为什么数字阵列()方法正在将我的tiff图像转换为对象(dtype=object)。我尝试了其他tiff图像,我没有遇到这个问题。我很确定这和我的“actin2.tif”图像的获取方式有关。我只需要能够将这个特定的tiff图像转换为2D数组。我的代码是这样的:

>>> import numpy
>>> from PIL import Image
>>> a = Image.open('actin2.tif')
>>> a_array = numpy.array(a)
>>> a
<PIL.TiffImagePlugin.TiffImageFile image mode=I;16B size=37x58 at 0x14BBC68>
>>> a_array
array(<PIL.TiffImagePlugin.TiffImageFile image mode=I;16B size=37x58 at 0x14BBC68>, dtype=object)

我最终需要能够操纵图像中像素的值,如果图像不被转换为2D数组,我就无法做到这一点。当前,这是我试图操作数组时引发的错误:

^{pr2}$

这是这行代码的结果:

structure_masked = numpy.multiply(structure_mask,image)

“structure_mask”和“image”以与上述相同的方式转换为numpy数组。在

我试过改变模式和数据类型,但似乎不起作用,有什么建议吗?在


Tags: 代码图像imageimportnumpypilobject方式

热门问题