ENVI(the Environment for Visualizing Images)
1.瀏覽波譜庫(Spectral Library)
Display——Spectral Library Viewer 自動列出ENVI 5.1軟件自帶的波譜庫文件。ENVI自帶多種標準波譜庫。ENVI5.1新增了2443種Aster波譜文件。
2.繪制地物波譜剖面圖(Spectral Profile)
利用頭文件信息按比例繪制波譜曲線 X(Horizontal),Y(Vertical),Z(Spectral),Data Value,Wavelength
3.繪制二維散點圖(2D Scatter Plot)
在笛卡爾坐標系(平面直角坐標系)中展示影像中兩個波段的像素值,散點圖說明了兩個波段的相關度。Density Slice(密度分割)前的方框打勾,可以用不同顏色顯示點密度,密度顏色梯度以紫色(代表低密度點)到紅色(代表高密度點)
4.自定義拉伸
Display——Custom Stretch 或單擊工具欄上的圖標,觀察拉伸前后的變化。Linear(線性拉伸),Equalization(直方圖均衡拉伸),Gaussian(高斯拉伸),Square Root(平方根拉伸),Logarithmic(對數拉伸),Optimized Linear(最優線性拉伸),Custom(自定義拉伸)
5.光標查詢
Display——Cursor Value
6.圖層疊加
Rster Management ——Layer Stacking 該工具可以將具有多個波段的數據疊加合成一個新的具有不同像素大小、范圍和投影的數據,將輸入的波段重采樣和重新投影,可為普通用戶選擇輸出像素大小和投影。
7.定義感興趣區ROI
繪制完成后雙擊鼠標左鍵或單擊鼠標右鍵,選擇Complete and Accept Polygon完成樣本繪制。
8.掩膜(Masking)
掩膜是一幅由0和1組成的二進制圖像,當掩膜用在ENVI的處理操作中,1值區域被處理,0值區域在計算中被忽略。掩膜常用于統計、分類、線性波譜分離、匹配濾波和波譜特征擬合等操作中。Raster Management——Masking——Build Mask
9.圖像鑲嵌/拼接(Mosaic 現在分詞Mosaicking)
將多幅具有重疊部分的圖像制作成一幅沒有重疊的新圖像/拼接形成一幅或一系列覆蓋研究區域的較大圖像。
10.圖像配準(Image Georeferencing and Registration)
將不同時間、不同傳感器(成像設備)或不同條件(氣候、照度、攝像位置、角度等)下獲取的兩幅或多幅圖像進行匹配或疊加的過程。
11.圖像融合(Image Fusion)
將一幅低分辨率的彩色圖像與一幅高分辨率的灰度圖像融合
怎么從遙感圖像上提取dn值?
用ENVI4.X的版本打開影像數據,要提取某一點上的dn值只需要在任意窗口點擊鼠標右鍵,點擊“Cursor Location/Value”即可。如果要獲取一景影像的DN值,在主菜單File-Save file as-ASII,得到的txt數據就是。
ENVI+IDL:經緯坐標提取影像的DN值
http://blog.sciencenet.cn/home.php?mod=space&uid=1148346&do=blog&id=785187
?2014-4-15 15:17? 用的是ENVI IDL 8.5
所有遙感影像原始數據都是DN值,要經過輻射定標轉換成具有實際物理含義的表觀反射率(光學)或后向散射系數(SAR),DN值范圍的不同是因為不同傳感器量化級不同,就是存儲數據時將傳感器接收電平的量化級,有的是8bit量化,則DN值范圍是0-255,有的是16bit量化(如高分辨的Worldview-2衛星),范圍為0-65535,還有12bit量化的。GF-1號好像是10bit量化(記不清了,具體值請查閱衛星相關資料),理論上DN值范圍為0-1023
用ENVI提取柵格數據值
2012-11-15 09:52
第一步 將點數據坐標拷入txt文檔,最好前面是經度后面是緯度,保存txt文本。
第二步打開遙感影像。
第三步打開ENVI,overlay 下面的 region of interest 。
第四步打開roi_type, 點上point。
第五步打開roi_type下面的 imput points from
ASCii 選擇剛才保存的txt文檔。
第六步那個xy points 就是選擇經緯度的, 第一列是經度 ,第二列是緯度 , 因為那個txt經緯度坐標是按照經度緯度前后排列的,所以就按默認的,下面的就是選擇投影,最好使用wgs84坐標,其他的坐標有的跟erdas不太兼容,參數什么的選擇比較麻煩。然后點確定。
第七步pixels就是樣點數,點擊file下面的 output rois to ASCII點確定, 然后選上 你要提取的柵格數據 ,點確定。
第八步點擊select all items 點choose 選擇路徑文件名,點ok,出現一個txt文檔,最后一列就是提取出來的柵格值。
如何提取影像中的DN值
嘗試:從MODIS影像開始,不借助MRT軟件前提下,完成對數據的轉投影、重采樣工作,在這張影像上操作提取DN值。
1.從MODIS影像中提取NDVI波段,將其另存為GeoTiff文件(LI_DNVI.tif)。
2.Python+GDAL操作,實現投影轉換,生成文件LI_reprojected.tif。
3.ENVI+IDL操作,重采樣NDVI數據的空間分辨率,生成文件LI_resampled.hdr、LI_resampled.tif,即是問題中MODIS數據經過重投影、重采樣得到的目標影像。
4.在LI_resampled.tif影像上(如果代碼顯示該文件Not a Tiff file,參考:GeoTiff Supported by ArcGIS),應用方法1和方法2提取坐標點對應的DN值。
關于 MGRS 和美國國家格網
軍事格網參考系 (MGRS) 是一種基于格網的參考系,用于在通用橫軸墨卡托投影 (UTM) 和通用極方位立體投影 (UPS) 格網系中以字母數字字符串的形式表示位置。與定義特定點不同,MGRS 坐標定義的是地球表面上的某個區域。完全限定的 MGRS 字符串長度為 15 個字符,由以下三個部分組成:格網區域標識、100,000平方米標識符以及東移/北移。
可通過兩種方法將 MGRS 或美國國家格網疊加到地圖中。如果需要隨平移和縮放操作自動更新的動態格網,可使用具有 MGRS 或美國國家疊加格網的數據框格網屬性。但是,如果需要進行以下操作之一,您需要使用格網和經緯網圖層:
**在除UTM之外的坐標系中顯示MGRS或美國國家格網
**在感興趣區域跨越UTM帶的情況下顯示UTM 標注
**在單一布局內顯示多個MGRS 或美國國家格網覆蓋圖
**為經旋轉的和非矩形的感興趣區域顯示? ? MGRS 或美國國家格網
**更改MGRS 或美國國家格網間距
**為可選間距放置內部階梯標注
格網和經緯網圖層支持這些復雜的格網和經緯網場景。但是,這些圖層不是動態的,在平移和縮放時不會更新。
An example of an?MGRS coordinate, or?grid reference, would be?4QFJ12345678,which consists of three parts:
4Q (grid zone designator, GZD)
FJ (the 100,000-meter squareidentifier)
12345678 (numerical location;?easting?is 1234 and?northing?is 5678, in this case specifying a location with 10?mresolution)
4Q .....................GZD only, precision level 6° × 8°(in most cases)
4QFJ ...................GZD and 100?km Grid SquareID, precision level 100?km
4QFJ 1 6 ...............precision level 10?km
4QFJ 12 67 .............precision level 1?km
4QFJ 123 678 ...........precision level 100?m
4QFJ 1234 6789 .........precision level 10?m
4QFJ 12345 67890 .......precision level 1?m
ENVI5.1中的灰度分割(Color?Slices)
灰度分割通常又稱密度分割或彩色分割,應用于單波段灰度圖像的分類方法。假設灰度圖像上某像元值范圍內表示一種物質,我們將這部分像元從圖像上分離出來形成一類。可用于如植被指數、地表溫度、地形等數據的分類。
灰度分割的分類方法前提是已知灰度分割區間,之后應用Raster
Color Slices工具進行分割。下面從DEM數據提取特定高程區域為例介紹Raster Color
Slices工具的使用。
ENVI影像像元的像素坐標問題
ENVI下左上角第一個像元的索引坐標是多少?是[1,1],那對該像元來說,單個像元自身的左上角是[1,1]還是[0,0]?
經過與ArcMap對比和老外的答復,現在已明確,左上角第一個像元的左上角起點坐標是[1,1]。這也就能夠正確的解釋在ENVI下對一幅不包含投影的影像添加時,Edit
Header→Edit Attributes→Map
Infor...的界面中Image Coordinate of Tie Point的默認參數是[1.5,1.5]表示的是第一個像素的中心,不要跟IDL的坐標混淆了。
用ENVI做完NDVI后,想提取TM7的NDVI,0.75到1之間的所有像元的DN值?
通過柵格計算器
IDL批量求取某坐標點DN值
我的數據如下:
TIFF格式——含有很多波段我自己試著寫的代碼如下;
批量讀取點的DN值
pro txtpoints
??envi,/restore_base_save_files
??imges=dialog_pickfile(/read,/multiple_files,filter='*.tif',title='please
choose your images',path='C:\Users\BDQS\Desktop\zz');
讀取影像文件路徑
??n= N_ELEMENTS(imges);
打開影像的個數
??FOR i=0,n-1 do begin;
對每個影像,讀取指定坐標下的DN值
envi_open_data_file,imges(i),/IMAGINE,r_fid=fid;
? ? ENVI_FILE_QUERY, fid, dims=dims,
nb=nb ,nl=nl,ns=ns,FNAME=fname;
讀取影像基本信息,獲取行列數
? ???for curBand =0,nb-1 do
begin
? ?? ?xmap=84.4
ymap=43.266667?
?ENVI_CONVERT_FILE_COORDINATES,fid,xf,yf,xmap,ymap
? ?? ?yf=nl-round(yf)
? ?? ?xf=round(xf)-1
? ?? ?dims=
?pointArray(curBand).fname=fname
?pointArray(curBand).data = ENVI_GET_DATA(fid=fid, dims=dims, pos=curBand)
? ???endfor?
??ENDFOR
??outfile='E:\zz.txt'
??openw,lun,outfile,/get_lun,width=9999999
??printf,lun,pointArray,format='(17a)'
??free_lun,lun
??print,'completed
end
運行出現下列錯誤
txtpoints
?pointArray(curBand).data = ENVI_GET_DATA(fid=fid, dims=dims, pos=curBand)
?? ?^
% Syntax error.
??At: C:\Users\BDQS\Desktop\txtpoints.pro,
Line 17
% 1 Compilation error(s) in module TXTPOINTS.
% At
tempt to call undefined procedure/function: 'TXTPOINTS'.
% Execution halted at: $MAIN$? ??
代碼寫得好像也不對,哪位大神幫我改改?非常感謝!
非得IDL嗎,arcgis也可以啊?ArcGIS如何批量 一個TIFF文件有365個波段,多個TIFF文件
ENVI里獲取影像對應區域平均海拔高程
FLAASH大氣校正時,需要待校正影像所在區域的平均海拔高度,這個海拔高度只需要一個大概的值,我們可以從低分辨率DEM數據中獲取。
File——Open World Data——Elevation(GMTED2010)
Toolbox——Statistics——Compute Statistics 選擇GMTED2010.jp2數據——單擊StasSubset
Header Info 對話框
- Samples:圖像文件的列數
- Lines:圖像文件的行數
- Bands:圖像文件的波段數
- Offset:圖像文件從文件開頭到實際數據起始處的字節偏移量
- xstart和ystart:圖像左上角的起始像元坐標
- Data Type:適當的數據類型
- Byte Order:數據的字節順序