国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python中使用OpenCV庫來進行簡單的氣象學遙感影像計算

來源:懂視網 責編:小采 時間:2020-11-27 14:35:27
文檔

Python中使用OpenCV庫來進行簡單的氣象學遙感影像計算

Python中使用OpenCV庫來進行簡單的氣象學遙感影像計算:OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機視覺庫。OpenCV是由英特爾公司發起并參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用于開發實時的圖像處理、計算機視覺以及模式識別程序。該程序庫也可
推薦度:
導讀Python中使用OpenCV庫來進行簡單的氣象學遙感影像計算:OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機視覺庫。OpenCV是由英特爾公司發起并參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用于開發實時的圖像處理、計算機視覺以及模式識別程序。該程序庫也可
OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機視覺庫。OpenCV是由英特爾公司發起并參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用于開發實時的圖像處理、計算機視覺以及模式識別程序。該程序庫也可以使用英特爾公司的IPP進行加速處理。
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語言的API接口函數可以通過在線文檔獲得。現在也提供對于C#, Ch,Ruby的支持。
在Windows上編譯OpenCV中與攝像輸入有關部分時,需要DirectShow SDK中的一些基類。該SDK可以從預先編譯的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目錄SamplesMultimediaDirectShowBaseClasses獲得。

下面我們就來看看OpenCV在Python編程下的應用,我們來處理一下簡單的氣象學計算,用python里面的opencv庫寫個腳本批處理圖像反射率的計算試試~

核心步驟就是 遙感影像光譜輻射定標 →大氣校正→計算反射率這三步了

1、遙感影像的光譜輻射定標
由遙感器的靈敏度特征引起的輻射畸變主要由其光學系統或光電轉換系統的特征形成的,光電轉換系統的靈敏性特征通常很重復,其校正一般是通過定期的地面測定值進行的。
遙感器光譜輻射定標時采用以下轉換算式:

2016219142247516.png (993×136)

遙感器各波段偏移與增益值從論文找了找后,找到這么一張表~

2016219142315033.png (1274×399)

那么這么個函數就能定標咯:

def computL(gain,Dn,bias): 
 return (gain*Dn+bias) 

2、遙感影像的大氣校正
任何一種依賴大氣物理模型的大氣校正方法都需要先進行遙感器的輻射校準。
公式是這個咯(Chavez P S,Jr. Image -Based Atmospheric Correction Revisited and Improved Photogrammetric Engineering and Remote Sensing, 1996,62,1025 -1036)

2016219142339422.png (737×46)

其中:Lhazel——大氣層光譜輻射值;LI,min——遙感器每一波段最小光譜輻射值;LI,1%——反射率為1%的黑體輻射值。

關于LI,min和LI,1%的計算公式就省略了啊,感興趣的同學可以自己去查查論文~

而計算Lhazel需要的參數可以從遙感圖像的頭文件中獲得一部分,還有一部分是固定的參數~這些都藏在ENVI的背后,不過自己寫腳本的時候找出他們還是廢了一番功夫的。

計算Lhazel的代碼如下:

#ESUN 
ESUNI71=196.9 
cos=math.cos(math.radians(90-41.3509605)) 
# 
Lmini=-6.2 
Lmax=293.7 
# 
Qcal=1 
Qmax=255 
LIMIN=Lmini+(Qcal*(Lmax-Lmini)/Qmax) 
LI=(0.01*ESUNI71*cos*cos)/(math.pi*D*D) 
Lhazel=LIMIN-LI 


3、計算遙感影像的反射率
根據太陽輻射和大氣傳輸原理與過程,TM/ETM+數據地面反射率反演的數學模型可綜合表達為:

2016219142401111.png (737×46)

其中:ρ——地面相對反射率;D——日地天文單位距離;LsatI——傳感器光譜輻射值,即大氣頂層的輻射能量;LhazeI——大氣層輻射值;ESUNl——大氣頂層的太陽平均光譜輻射,即大氣頂層太陽輻照度;SZ——太陽天頂角。

這里提一下其中兩個參數的計算公式:
日地天文單位距離 D=1 -0.01674 cos(0.9856×(JD-4)×π/180);
(JD為遙感成像的儒略日(Julian Day),計算公式為:

JD=K-32075+1461*(I+4800+(J-14)/12)/4+367*(J-2-(J-14)/12*12)/12-3*((I+4900+(J-14)/12)/100)/4 

I、J、K分別為年、月、日

有了這些,最后就能直接算出來反射率啦,粗糙代碼如下,因為是寫著玩的,也沒怎么處理:
不過需要注意的是,遙感圖像進行計算跟輸出的時候,需要使用uint16類型的數組來存儲的(uint8長度不夠啊。)
一些參數涉及到浮點數計算,如果對處理結果有極高要求的話,最好使用專門的科學運算庫(像我這種渣學校才不介意這些)

import cv2 
import numpy as np 
import math 
 
img1=cv2.imread('F:L71121040_04020030220_B10.TIF') 
#圖像格式轉換 
img10=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY) 
 
#計算JD 
I=2003 
J=2 
K=20 
JD=K-32075+1461*(I+4800+ (J-14)/12)/4+367*(J-2-(J-14)/12*12)/12-3*((I+4900+(J-14)/12)/100)/4 
#設置ESUNI值 
ESUNI71=196.9 
#計算日地距離D 
D=1-0.01674*math.cos((0.9856*(JD-4)*math.pi/180)) 
#計算太陽天頂角 
cos=math.cos(math.radians(90-41.3509605)) 
 
inter=(math.pi*D*D)/(ESUNI71*cos*cos) 
 
#大氣校正參數設置 
Lmini=-6.2 
Lmax=293.7 
Qcal=1 
Qmax=255 
LIMIN=Lmini+(Qcal*(Lmax-Lmini)/Qmax) 
LI=(0.01*ESUNI71*cos*cos)/(math.pi*D*D) 
Lhazel=LIMIN-LI 
 
 
def copy(img,new1): 
 new1= np.zeros(img.shape,dtype='uint16') 
 new1[:,:] = img[:,:] 
 
def computL(gain,Dn,bias): 
 return (gain*Dn+bias) 
 
if __name__ == '__main__': 
 print 'D=',D 
 print 'cosZS=',cos 
 print 'Lhazel=',Lhazel 
 #計算圖像反射率 
 result=np.zeros(img.shape,dtype='uint16') 
 for i in range(0,img.shape(1)): 
 for j in range(0,img.shape(0)): 
 Lsat=computL(1.18070871,img10[i,j],-7.38070852) 
 result[i,j]=inter*(Lsat-Lhazel)*1000 
 
#保存圖像 
 cv2.imwrite("F:\result.tif", result) 
 cv2.namedWindow("Image") 
 cv2.imshow("Image", result) 
 cv2.waitKey(0) 

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Python中使用OpenCV庫來進行簡單的氣象學遙感影像計算

Python中使用OpenCV庫來進行簡單的氣象學遙感影像計算:OpenCV的全稱是Open Source Computer Vision Library,是一個跨平臺的計算機視覺庫。OpenCV是由英特爾公司發起并參與開發,以BSD許可證授權發行,可以在商業和研究領域中免費使用。OpenCV可用于開發實時的圖像處理、計算機視覺以及模式識別程序。該程序庫也可
推薦度:
標簽: 計算 圖像 的計算
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产最新精品视频 | 黄色成人在线视频 | 亚洲精品成人久久久影院 | 一区二区视频 | 欧美一区二区三区四区视频 | 精品日韩一区二区三区 | 欧美日韩不卡在线 | 久久精品亚洲一区二区 | 福利视频欧美一区二区三区 | 国产成人精品一区二区三区 | 8x成人在线| 亚洲欧美日韩专区 | 国产精品欧美亚洲韩国日本不卡 | 国产精品一区在线观看 | 国产精品视频久久久 | 国产一区二区三区免费在线观看 | 国产精品久久久久久久久99热 | 99视频九九精品视频在线观看 | 黄色毛片免费看 | 欧美精品在线看 | 亚洲国产成人久久三区 | 久久一 | 欧美日韩精品乱国产538 | 北条麻妃手机在线 | 欧美国产精品一区二区免费 | 欧美老妇69交 | 在线观看免费国产视频 | 欧美一区二区三区免费高 | 一区二区三区成人 | 91久久精品一区二区三区 | 免费一看一级毛片全播放 | 欧美激情综合 | 国产91久久久久久久免费 | 特级全黄一级毛片视频 | 日韩欧美一区二区三区免费看 | 欧美日韩国产在线观看 | 国产精品亚洲综合一区 | 日韩 亚洲 欧美 中文 高清 | 国产69久久精品成人看小说 | 久久国产精品成人免费 | 国产男女无遮挡猛进猛出 |