最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中使用OpenCV庫(kù)來(lái)進(jìn)行簡(jiǎn)單的氣象學(xué)遙感影像計(jì)算

 更新時(shí)間:2016年02月19日 14:27:55   作者:GISLU  
這篇文章主要介紹了Python中使用OpenCV庫(kù)來(lái)進(jìn)行簡(jiǎn)單的氣象學(xué)圖像計(jì)算的例子,文中是用來(lái)進(jìn)行光譜輻射定標(biāo)、大氣校正和計(jì)算反射率,需要的朋友可以參考下

OpenCV的全稱是Open Source Computer Vision Library,是一個(gè)跨平臺(tái)的計(jì)算機(jī)視覺(jué)庫(kù)。OpenCV是由英特爾公司發(fā)起并參與開發(fā),以BSD許可證授權(quán)發(fā)行,可以在商業(yè)和研究領(lǐng)域中免費(fèi)使用。OpenCV可用于開發(fā)實(shí)時(shí)的圖像處理、計(jì)算機(jī)視覺(jué)以及模式識(shí)別程序。該程序庫(kù)也可以使用英特爾公司的IPP進(jìn)行加速處理。
OpenCV用C++語(yǔ)言編寫,它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言接口。該庫(kù)也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語(yǔ)言的API接口函數(shù)可以通過(guò)在線文檔獲得?,F(xiàn)在也提供對(duì)于C#, Ch,Ruby的支持。
在Windows上編譯OpenCV中與攝像輸入有關(guān)部分時(shí),需要DirectShow SDK中的一些基類。該SDK可以從預(yù)先編譯的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目錄Samples\Multimedia\DirectShow\BaseClasses獲得。

下面我們就來(lái)看看OpenCV在Python編程下的應(yīng)用,我們來(lái)處理一下簡(jiǎn)單的氣象學(xué)計(jì)算,用python里面的opencv庫(kù)寫個(gè)腳本批處理圖像反射率的計(jì)算試試~

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

1、遙感影像的光譜輻射定標(biāo)
由遙感器的靈敏度特征引起的輻射畸變主要由其光學(xué)系統(tǒng)或光電轉(zhuǎn)換系統(tǒng)的特征形成的,光電轉(zhuǎn)換系統(tǒng)的靈敏性特征通常很重復(fù),其校正一般是通過(guò)定期的地面測(cè)定值進(jìn)行的。
遙感器光譜輻射定標(biāo)時(shí)采用以下轉(zhuǎn)換算式:

2016219142247516.png (993×136)

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

2016219142315033.png (1274×399)

那么這么個(gè)函數(shù)就能定標(biāo)咯:

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

2、遙感影像的大氣校正
任何一種依賴大氣物理模型的大氣校正方法都需要先進(jìn)行遙感器的輻射校準(zhǔn)。
公式是這個(gè)咯(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%的黑體輻射值。

關(guān)于LI,min和LI,1%的計(jì)算公式就省略了啊,感興趣的同學(xué)可以自己去查查論文~

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

計(jì)算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、計(jì)算遙感影像的反射率
根據(jù)太陽(yáng)輻射和大氣傳輸原理與過(guò)程,TM/ETM+數(shù)據(jù)地面反射率反演的數(shù)學(xué)模型可綜合表達(dá)為:

2016219142401111.png (737×46)

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

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

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分別為年、月、日

有了這些,最后就能直接算出來(lái)反射率啦,粗糙代碼如下,因?yàn)槭菍懼娴?,也沒(méi)怎么處理:
不過(guò)需要注意的是,遙感圖像進(jìn)行計(jì)算跟輸出的時(shí)候,需要使用uint16類型的數(shù)組來(lái)存儲(chǔ)的(uint8長(zhǎng)度不夠啊。。)
一些參數(shù)涉及到浮點(diǎn)數(shù)計(jì)算,如果對(duì)處理結(jié)果有極高要求的話,最好使用專門的科學(xué)運(yùn)算庫(kù)(像我這種渣學(xué)校才不介意這些)

import cv2 
import numpy as np 
import math 
 
img1=cv2.imread('F:\L71121040_04020030220_B10.TIF') 
#圖像格式轉(zhuǎn)換 
img10=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY) 
 
#計(jì)算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 
#設(shè)置ESUNI值 
ESUNI71=196.9 
#計(jì)算日地距離D 
D=1-0.01674*math.cos((0.9856*(JD-4)*math.pi/180)) 
#計(jì)算太陽(yáng)天頂角 
cos=math.cos(math.radians(90-41.3509605)) 
 
inter=(math.pi*D*D)/(ESUNI71*cos*cos) 
 
#大氣校正參數(shù)設(shè)置 
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 
  #計(jì)算圖像反射率  
  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) 

相關(guān)文章

  • Python使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù)詳解

    Python使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù)詳解

    這篇文章主要介紹了Python使用cx_Oracle模塊操作Oracle數(shù)據(jù)庫(kù),結(jié)合實(shí)例形式較為詳細(xì)的分析了cx_Oracle模塊的下載、安裝及針對(duì)Oracle數(shù)據(jù)庫(kù)的連接、執(zhí)行SQL語(yǔ)句、存儲(chǔ)過(guò)程等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Python中Windows和macOS文件路徑格式不一致的解決方法

    Python中Windows和macOS文件路徑格式不一致的解決方法

    在 Python 中,Windows 和 macOS 的文件路徑字符串格式不一致主要體現(xiàn)在路徑分隔符上,這種差異可能導(dǎo)致跨平臺(tái)代碼在處理文件路徑時(shí)出錯(cuò),下面我們看看如何解決吧
    2025-03-03
  • 使用Python爬取彈出窗口信息的實(shí)例

    使用Python爬取彈出窗口信息的實(shí)例

    這篇文章主要介紹了使用Python爬取彈出窗口信息的實(shí)例,具有很好的的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • tensorflow基于Anaconda環(huán)境搭建的方法步驟

    tensorflow基于Anaconda環(huán)境搭建的方法步驟

    本文主要介紹了tensorflow基于Anaconda環(huán)境搭建的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • TFRecord格式存儲(chǔ)數(shù)據(jù)與隊(duì)列讀取實(shí)例

    TFRecord格式存儲(chǔ)數(shù)據(jù)與隊(duì)列讀取實(shí)例

    今天小編就為大家分享一篇TFRecord格式存儲(chǔ)數(shù)據(jù)與隊(duì)列讀取實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • flask+pymysql實(shí)現(xiàn)Web端操作數(shù)據(jù)庫(kù)的項(xiàng)目實(shí)踐

    flask+pymysql實(shí)現(xiàn)Web端操作數(shù)據(jù)庫(kù)的項(xiàng)目實(shí)踐

    本文主要介紹了flask+pymysql實(shí)現(xiàn)Web端操作數(shù)據(jù)庫(kù)的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 將tf.batch_matmul替換成tf.matmul的實(shí)現(xiàn)

    將tf.batch_matmul替換成tf.matmul的實(shí)現(xiàn)

    這篇文章主要介紹了將tf.batch_matmul替換成tf.matmul的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python配置pip國(guó)內(nèi)鏡像源的實(shí)現(xiàn)

    Python配置pip國(guó)內(nèi)鏡像源的實(shí)現(xiàn)

    這篇文章主要介紹了Python配置pip國(guó)內(nèi)鏡像源的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python讀取MRI并顯示為灰度圖像實(shí)例代碼

    Python讀取MRI并顯示為灰度圖像實(shí)例代碼

    這篇文章主要介紹了Python讀取MRI并顯示為灰度圖像實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例

    Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例

    這篇文章主要介紹了Python+Opencv實(shí)現(xiàn)把圖片、視頻互轉(zhuǎn)的示例,幫助大家更好的理解和實(shí)用python,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

六安市| 赣榆县| 修武县| 长沙市| 汝南县| 诸城市| 大安市| 民勤县| 白河县| 株洲市| 凤山市| 竹山县| 荔浦县| 和田市| 凌源市| 常山县| 南召县| 六枝特区| 新疆| 黔江区| 西城区| 府谷县| 定西市| 马尔康县| 兰州市| 辉县市| 长兴县| 尚义县| 云南省| 常熟市| 嘉峪关市| 阜城县| 平舆县| 清水河县| 武强县| 广宁县| 沧州市| 怀远县| 色达县| 仲巴县| 高雄市|