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:数据的字节顺序