全自動Landsat影像溫度反演軟體開發

2022-07-29 00:51:15 字數 1602 閱讀 5695

許久沒有更新遙感類軟體開發了,都有點生疏了,這一次我帶來了乙個老的演算法,新的東西, 為什麼這麼說呢,我們知道landat8、landsat5等影像,單個影像去做溫度反演,並沒有什麼太大的難度,

但是呢,如果遇到大批量、多源的資料怎麼辦呢,如果一景景去調參、去設計模型,那就是在太浪費時間了,我看過市面上面所有的同類溫度反演軟體,幾乎沒有人做到全自動landat系列的溫度反演,

但是規劃類的業務應用需求,往往需要大尺度範圍的高精度溫度反演結果,這就有點尷尬了,源於這個需求,我開發了市面上第乙個全自動批量化landsat8溫度反演軟體,在此拋磚引玉,相信山外有山,

1.演算法模型基礎

演算法層面,我不講太多,大家可以參考一些覃志豪老師、國外的一些professor寫的經典**,歸根到底就是兩類:單通道和多通道。其中針對landsat8資料來源,覃志豪老師已經明確了,單通道更為合適,這是由於該

資料來源有乙個熱紅外通道出現了問題(不知道這樣表述是否明確)。我這裡全自動的溫度反演演算法,就是採用經典的覃志豪單通道演算法,為了提高自動化程度,一些大氣引數,我採用了nasa開發的**進行查詢獲取,比如大氣

向上輻射引數、大氣透過率等。這裡我採用了乙個技巧,大氣引數需要手動獲取,我採用爬蟲技術自動獲取大氣引數,這裡就「曲線救國」的方式得到了自動化的大氣引數,這樣演算法層面就可以自動化了,如果大家有其他演算法,需要大氣引數的,

當然可以參考我的思路。

對於完整的溫度反演,我這裡核心部分採用c++實現,部分**如下:

#include "

mex.h

"#include

using

namespace

std;

/*地表溫度反演

* t: 大氣引數

* lu: 大氣引數

* ld: 大氣引數

* aima: 地表比輻射率

* band10_rad: 輻射定標後第10波段

*/void lst_landsat8(double t, double lu, double ld, double *aima, double *band10_rad, int imglength, double *lst)

delete blarad; //

釋放記憶體

//delete aima;

//delete band10_rad;

//return lst;}//

c++入口主函式

void mexfunction(int nlhs, mxarray *plhs, int nrhs, const mxarray *prhs) //

編譯**

上面是黑體輻射部分,之所以採用c++實現,是c++效率比較高,比matlab大概要快3倍左右。

全自動反演軟體:

2.實驗結果

實驗演算法,我採用湖南省、重慶市夏季、冬季等l8影像,部分反演結果如下所示:

這是渲染後的結果,可以看到結果還是比較好的。

3.繼續改進

Spring AOP 全自動程式設計

目標 明白什麼是全自動織入。第一步 匯入jar包 第二步 建立乙個目標類 2.1 首先建立乙個目標類的介面iuserservice public inte ce iuserservice2.2 再建立乙個目標類userserviceimpl,實現介面中的方法 public class userser...

ks全自動安裝centos

分類 linux 2010 10 15 16 08 374人閱讀收藏 舉報1.全新安裝centos,選擇好所需定製包 2.完成安裝後會在root下面生成乙個install.log rpm包列表 anaconda ks.cfg 下文的ks.cfg基於此檔案修改 3.將其簡單編輯下儲存起來 cat ro...

Redhat CentOS全自動網路安裝

機房經常需要安裝系統,之前搭了個windows上執行的tftpd32 httpd的網路安裝環境,可以用 但是需要我的pc經常開著tftpd程式.於是 今天改進了一下,將網路安裝伺服器搭在某個常年執行的linux伺服器上.先介紹一下,我們使用的網路安裝伺服器的ip是192.168.1.14,系統是32...