擅长:python、mysql、java
<p><strong>标准PIL</strong></p>
<p>要从文件加载图像,请使用图像模块中的“打开”函数。在</p>
<pre><code>>>> import Image
>>> im = Image.open("lena.ppm")
</code></pre>
<p>如果成功,此函数将返回图像对象。现在可以使用实例属性检查文件内容。在</p>
^{pr2}$
<p>format属性标识图像的源。如果未从文件中读取图像,则将其设置为“无”。size属性是一个包含宽度和高度(以像素为单位)的2元组。mode属性定义图像中带的数量和名称,以及像素类型和深度。常见模式有灰度图像的“L”(亮度),真彩色图像的“RGB”,印前图像的“CMYK”。在</p>
<p>Python图像库还允许您处理多波段图像的各个波段,例如RGB图像。split方法创建一组新图像,每个图像都包含原始多波段图像的一个波段。merge函数接受一个模式和一个图像元组,并将它们组合成一个新的图像。以下示例交换RGB图像的三个波段:</p>
<p>拆分和合并波段</p>
<pre><code>r, g, b = im.split()
im = Image.merge("RGB", (b, g, r))
</code></pre>
<p>所以我认为你应该简单地推导出模式,然后相应地分解。在</p>
<p><strong>PIL与光谱Python(间谍Python模块)</strong></p>
<p>但是,正如您在下面的评论中指出的,您处理的不是带有3个波段的普通RGB图像。因此,要解决这个问题,SpectralPython(一个需要PIL的纯python模块)可能正是您所需要的。在</p>
<p>具体来说-<a href="http://spectralpython.sourceforge.net/class_func_ref.html#spectral.io.bipfile.BipFile" rel="nofollow">http://spectralpython.sourceforge.net/class_func_ref.html#spectral.io.bipfile.BipFile</a></p>
<p>在spectral.io.bip文件.BipFile处理带交错像素(BIP)格式的图像文件。在</p>
<p>希望这有帮助。在</p>