Python实现mat、tif和hdr不同格式数据读取

前言

遥感影像数据大多是以tif格式或者以hdr格式进行存储,并且这两种格式会保存坐标信息;但是以mat格式进行存储,则不会保留坐标信息。下面将详细介绍如何使用python来读取这三种格式的数据

mat格式

利用scipy库读取

import scipy.io as sio

path = r'../01_dataset/data_mat.mat'  #数据路径
data_01 = sio.loadmat(path)['data']   #读取数据

tif格式

利用imageio库读取

import imageio

path = r'../01_dataset/data.tif'  #数据路径  
data_02 = imageio.imread(path).transpose(1,2,0)  #读取数据,并将光谱维放到第三维

利用gdal库读取

from osgeo import gdal

# 定义一个读取tif数据的函数  
def readTif(fileName):  
    dataset = gdal.Open(fileName)  
    if dataset == None:  
        print(fileName+"文件无法打开")  
    return dataset

path = r'../01_dataset/data.tif'  #数据路径 
data_03 = readTif(path)  #读取数据

hdr格式

利用spectral库读取

import spectral
import numpy as np

path = r'../01_dataset/data_hdr.hdr'  #数据路径 
data_04 = spectral.open_image(path)  #读取数据
img = data_04.load()  #加载数据

img = np.array(img)  #一般需要将数据转为数组形式

后记

本人专注于遥感图像处理,大家如果有需要代做或者有项目需要合作,可以加Q Q :504156006 详聊,加好友请留言“CSDN”,谢谢。

你可能感兴趣的:(遥感,数据,python,开发语言)