如何使用任意数量的通道创建图像? (蟒蛇)

问题描述 投票:2回答:2

我正在使用Python,Anaconda发行版开发一个项目,并且需要创建和处理具有任意数量通道的图像。例如,RGB有三个通道

(R,G,B)

我需要有任意数量的用户定义的通道,可以多达90个左右(实际上是元素通道,来自X射线荧光数据):

(Fe, P, K, S, Si, ...)

其中每个通道只是一个灰度图像(显然)。

到目前为止,我一直在使用PIL Image模块,除了这个特殊的任务外,它运行得很好。 PIL不支持使用的已定义图像模式,并且只有少数几种模式可供选择,其中没有一种模式超过4个通道(CMYK)

文档非常简短地说明了这一点:

但是,PIL不支持用户定义的模式;如果要处理上面未列出的波段组合,请使用一系列图像对象。

这看起来很模糊,我不确定我是否确切知道如何实现这一点。一系列Image对象?意味着一系列对象,每个对象都有PIL支持的图像模式?似乎效率低下且难看。

我怎么能做到这一点?除了PIL之外我有没有可以使用的包裹?

如果它真的归结为它,我不需要渲染图像,我可以只使用“像素”数据进行处理,但最终结果是一个图像仍然是好的。

python image-processing colors python-imaging-library anaconda
2个回答
1
投票

也许简单的numpy数组对你来说已经足够了?


0
投票

使用numpy,您可以存储具有多个通道的图像(此处显示3个通道):

import numpy as np
num_channels = 3
random_image = np.random.randint(0,256, (300,400,num_channels))
© www.soinside.com 2019 - 2024. All rights reserved.