【发布时间】:2021-03-13 05:15:01
【问题描述】:
我正在研究印度松树的高光谱图像 (HSI)。最初,数据存储在 .mat 文件中,然后使用 loadmat 函数读取了数组中的数据。数组维度为 (145,145,200)。现在,当我试图将此数组保存为 Tiff(.tif) 图像时,事情就无法正常工作。我正在使用 tifffile 包,它是 imwrite 函数来保存图像。但是当我在 QGIS 软件中打开图像时,它只显示一个波段而不是 200 个波段。 我在下面附上代码:
import tifffile
import numpy as np
from scipy.io import loadmat
def read_HSI():
X = loadmat('Indian_pines_corrected.mat')['indian_pines_corrected']#dataset
y = loadmat('Indian_pines_gt.mat')['indian_pines_gt']#ground truth
print(f"X shape: {X.shape}\ny shape: {y.shape}")
return X, y
X, y = read_HSI()
tifffile.imwrite('IndianPines(inputX).tif', X)
如果有任何其他方法可以将 .mat 文件保存为 .tif 格式,请告诉我。 提前谢谢你。
【问题讨论】:
-
如果
X的最后一个维度包含带,请尝试imwrite(filename, X, planarconfig='contig')。 -
谢谢我会做的
标签: python arrays image-processing multidimensional-array tiff