Python實(shí)現(xiàn)讀取mat、tif和hdr格式數(shù)據(jù)
前言
遙感影像數(shù)據(jù)大多是以tif格式或者以hdr格式進(jìn)行存儲(chǔ),并且這兩種格式會(huì)保存坐標(biāo)信息;但是以mat格式進(jìn)行存儲(chǔ),則不會(huì)保留坐標(biāo)信息。下面將詳細(xì)介紹如何使用python來讀取這三種格式的數(shù)據(jù)
mat格式
利用scipy庫讀取
import scipy.io as sio path = r'../01_dataset/data_mat.mat' #數(shù)據(jù)路徑 data_01 = sio.loadmat(path)['data'] #讀取數(shù)據(jù)
tif格式
利用imageio庫讀取
import imageio path = r'../01_dataset/data.tif' #數(shù)據(jù)路徑 data_02 = imageio.imread(path).transpose(1,2,0) #讀取數(shù)據(jù),并將光譜維放到第三維
利用gdal庫讀取
from osgeo import gdal # 定義一個(gè)讀取tif數(shù)據(jù)的函數(shù) def readTif(fileName): dataset = gdal.Open(fileName) if dataset == None: print(fileName+"文件無法打開") return dataset path = r'../01_dataset/data.tif' #數(shù)據(jù)路徑 data_03 = readTif(path) #讀取數(shù)據(jù)
hdr格式
利用spectral庫讀取
import spectral import numpy as np path = r'../01_dataset/data_hdr.hdr' #數(shù)據(jù)路徑 data_04 = spectral.open_image(path) #讀取數(shù)據(jù) img = data_04.load() #加載數(shù)據(jù) img = np.array(img) #一般需要將數(shù)據(jù)轉(zhuǎn)為數(shù)組形式
方法補(bǔ)充
使用PIL庫來讀取和處理TIF格式數(shù)據(jù)
1. 安裝PIL庫
在使用PIL庫之前,我們需要先安裝它。可以使用pip命令來安裝PIL庫:
pip install pillow
2. 讀取TIF格式數(shù)據(jù)
在使用PIL庫讀取TIF格式數(shù)據(jù)之前,我們首先需要導(dǎo)入相關(guān)的庫和模塊:
from PIL import Image import numpy as np
接下來,我們可以使用Image.open()函數(shù)來打開TIF格式的圖像文件,并將其讀取為PIL對(duì)象:
img = Image.open('example.tif')
這樣,我們就成功地將TIF格式的圖像文件讀取為了PIL對(duì)象img。
使用OpenCV讀取tiff數(shù)據(jù)
import cv2 import numpy as np # 讀取tiff文件 im = cv2.imread('example.tiff', cv2.IMREAD_UNCHANGED) # 顯示圖像 cv2.imshow('Image', im) cv2.waitKey(0) cv2.destroyAllWindows() # 打印圖像尺寸和通道數(shù) print('Image size:', im.shape[:2]) print('Channels:', im.shape[2])
到此這篇關(guān)于Python實(shí)現(xiàn)讀取mat、tif和hdr格式數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python讀取數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)django后臺(tái)admin下拉框進(jìn)行過濾的實(shí)例
今天小編就為大家分享一篇對(duì)django后臺(tái)admin下拉框進(jìn)行過濾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Pandas數(shù)據(jù)類型自行變換及數(shù)據(jù)類型轉(zhuǎn)換失敗問題分析與解決
這篇文章主要介紹了Pandas數(shù)據(jù)類型自行變換及數(shù)據(jù)類型轉(zhuǎn)換失敗問題分析與解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06使用python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了使用python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02python用pyinstaller封裝exe雙擊后瘋狂閃退解決辦法
本文主要介紹了python用pyinstaller封裝exe雙擊后瘋狂閃退解決辦法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Python Socket實(shí)現(xiàn)簡(jiǎn)單TCP Server/client功能示例
這篇文章主要介紹了Python Socket實(shí)現(xiàn)簡(jiǎn)單TCP Server/client功能,結(jié)合實(shí)例形式分析了Python基于socket創(chuàng)建TCP服務(wù)器Server與客戶端client相關(guān)實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下2017-08-08淺談Python中的可迭代對(duì)象、迭代器、For循環(huán)工作機(jī)制、生成器
這篇文章主要介紹了Python中的可迭代對(duì)象、迭代器、For循環(huán)工作機(jī)制、生成器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03numpy矩陣乘法中的multiply,matmul和dot的使用
本文主要介紹了numpy矩陣乘法中的multiply,matmul和dot的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02