我正在处理大于8gb的.svs格式的图像。使用openslide,我将它们读作1D numpy数组。现在为了将它们输入到一个算法中,我需要将它们重塑成图像形式,以处理像素位置相关的信息。 由于图像非常大,使用PIL将numpy数组转换为
image=np.load('test.npy')
im=Image.fromarray(image)
给我一个错误size does not fit in int
。我试图通过将dtype
从uint8
改为uint64
来解决这个错误,但是我的python仍然崩溃,尽管我的工作站上有64GB RAM and 3 TB memory
。在
然后我尝试使用memmap
加载numpy数组:
现在上面的代码给了我一个.tif
格式的图像。但是,我无法处理。我无法分析原因?当我试着读那张图片并打印它的形状时,我发现了这一点。在
AttributeError: 'NoneType' object has no attribute 'shape'
所以,这种方式对我来说也是失败的。然后,我尝试将numpy数组重塑为(4433164625,3)图像的形状,得到以下错误
ValueError: sequence too large; cannot be greater than 32
有谁能帮我处理这样的图像吗。我有这些图像在x,y,z像素位置的注释,要将这些注释作为基本事实进行处理,我需要将我的numpy数组转换为图像形式。在
任何帮助都会很好。在
编辑:我现在正在重塑纽比阵列。但是,仍然不知道如何使用numpy文件作为我的数据集输入而不是图像。在
目前没有回答
相关问题 更多 >
编程相关推荐