在数字化和信息化飞速发展的今天,ENVI软件以其卓越的性能和广泛的应用领域,成为了遥感图像处理领域的重要工具。
软件下载地址:
GIS软件下载
ENVI软件概述
ENVI软件,全称Environment for Visualizing Images,是由美国Harris Geospatial Solutions公司开发的遥感图像处理软件。这款软件以其强大的功能和灵活性,在全球范围内被广泛应用于科研、环境保护、气象、石油矿产勘探、农业、林业等多个领域。
软件主要功能
ENVI软件提供了全套的影像信息智能化提取工具,包括深度学习图像分类工具,全面提升影像的价值。它在高光谱分析方面一直处于世界领先地位,并且拥有强大的建模工具,用户可以通过可视化界面,零代码实现复杂工作流和批处理。此外,ENVI还提供了流程化图像处理工具,降低了操作难度,提高了图像处理的效率。
应用领域
ENVI软件的应用领域非常广泛,包括但不限于:
科研:用于地球观测和数据分析,支持科研人员进行深入研究。
环境保护:监测环境变化,如森林砍伐、城市扩张等。
气象:用于天气预测和气候研究,分析大气成分。
石油矿产勘探:通过遥感图像分析,辅助矿产资源的勘探和开发。
农业:监测作物生长状况,评估农业产量。
林业:进行森林资源调查和管理,监测森林火灾等。
二次开发代码示例
ENVI软件支持通过IDL语言进行二次开发,扩展其功能。以下是一些二次开发的代码示例:
定标处理
PRO cal_calibration, infile, outFile, gainOffset
COMPILE_OPT idl2
CATCH, Error_status
errorshow = 'Sorry to see the error,' + $
' please send the error Information to "dongyq@esrichina-bj.cn"'
IF Error_status NE 0 THEN BEGINtmp = DIALOG_MESSAGE(errorshow+STRING(13b)+$!ERROR_STATE.MSG,/error,title = '错误提示!')return
ENDIF
ENVI_OPEN_FILE, infile, R_fid= fid
ENVI_FILE_QUERY, FID, dims = dims, BNAMES = BNAMEs, NB = NB
ENVI_DOIT, 'gainoff_doit', fid=fid, pos=LINDGEN(nb), dims=dims, out_name=outFile, $
gain=1./gainOffset[*,0], offset=gainOffset[*,1], r_fid=r_fid, in_memory=0, OUT_DT = 4
END
大气校正
PRO CAL_QUAC, inputfile, outputfile
COMPILE_OPT idl2
CATCH, Error_status
errorshow = 'Sorry to see the error,' + $
' please send the error Information to "dongyq@esrichina-bj.cn"'
IF Error_status NE 0 THEN BEGINtmp = DIALOG_MESSAGE(errorshow+STRING(13b)+$!ERROR_STATE.MSG,/error,title = '错误提示!')return
ENDIF
ENVI_OPEN_FILE, inputfile, r_fid=fid
ENVI_FILE_QUERY, fid, dims=dims, nb=nb, sensor_type=sensor_type
pos = LINDGEN(nb)
sensor = envi_sensor_type(sensor_type)
ENVI_DOIT, 'envi_quac_doit', fid=fid, pos=pos, dims=dims, quac_sensor=sensor, out_name=outputfile, r_fid=r_fid
END
图像融合
PRO CAL_SHARPEN, inputfileMulti, inputfilePan, outputfile, method
COMPILE_OPT idl2
CATCH, Error_status
errorshow = 'Sorry to see the error,' + $
' please send the error Information to "dongyq@esrichina-bj.cn"'
IF Error_status NE 0 THEN BEGINtmp = DIALOG_MESSAGE(errorshow+STRING(13b)+$!ERROR_STATE.MSG,/error,title = '错误提示!')return
ENDIF
ENVI_OPEN_FILE, inputfilePan, r_fid=h_fid
ENVI_FILE_QUERY, h_fid, ns=h_ns, nl=h_nl, dims = h_dims, nb = h_nb
ENVI_OPEN_FILE, inputfileMulti, r_fid=m_fid
ENVI_FILE_QUERY, m_fid, dims=m_dims, bnames=m_bnames, nb = m_nb
IF method LT 2 THEN BEGINf_dims = [-1l, 0, h_ns-1, 0, h_nl-1]f_pos = [0]rgb_fid = [m_fid,m_fid,m_fid]out_bname = ['3','2','1']ENVI_DOIT, 'sharpen_doit', fid=rgb_fid, pos=lindgen(m_nb), f_fid=h_fid, f_dims=f_dims, f_pos=f_pos, $
END