繁体   English   中英

numpy.array()不能将tiff图像转换为2D数组

[英]numpy.array() is not converting tiff image to 2D array

我一直试图找出为什么numpy.array()方法将我的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数组,则无法做到这一点。 当前,这是我尝试操作数组时抛出的错误:

structure_masked = numpy.multiply(structure_mask,image)
TypeError: unsupported operand type(s) for *: 'bool' and 'instance'

这是此行代码的结果:

structure_masked = numpy.multiply(structure_mask,image)

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

我试过更改mode和dtype,但是似乎不起作用,有什么建议吗?

遇到同样的问题。 原来我们运行的是PIL而不是Pillow。 这为我们解决了它:

sudo pip卸载PIL

sudo pip安装枕头-U

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM