ENVI扩展工具:Savitzky-Golay 滤波工具
IDL提供了SAVGOL函数,可以生成SG滤波核,然后便可以使用CONVOL进行滤波了。
为了方便广大ENVI用户,开发ENVI扩展工具,可以一键实现SG滤波。
工具采用了分块处理,对于输入数据量没有限制。
1 安装方法
方法1:使用 ENVI App Store 进行 ENVI 扩展工具的安装与管理。
App Store 下载地址:envi.geoscene.cn/appstore
方法2:手动下载 https://envi.geoscene.cn/appstore/savtyoyter
下载 zip 压缩包并解压,将得到的 extensions 和 custom_code 文件夹拷贝到如下 ENVI 安装路径,覆盖同名文件夹即可:
-
ENVI 5.3 - C:\Program Files\Exelis\ENVI53\
-
ENVI 5.4 及以上 - C:\Program Files\Harris\ENVI5x\
重启 ENVI 即可使用。
2 工具使用
在工具箱中,打开/Extensions/Savitzky-Golay Filter
设置如下参数:
参数 |
描述 |
Input Raster |
输入栅格数据 |
N Left |
滤波核中心点左侧的点个数,默认为5 |
N Right |
滤波核中心点右侧的点个数,默认为5 注:设置的N Left和N Right 值越大,则平滑效果越明显。 |
Order |
设置导数阶数。设置为0,表示仅平滑;设置为1,表示一阶导数平滑结果;设置为2,表示二阶导数。以此类推。 注:Order 必须小于等于 Degree |
Degree |
设置平滑多项式的次数。通常设置为2~4。较低的次数能够产生平滑结果,但是有可能出现偏置(bias)。较高的次数能降低偏置,但有可能过拟合而导致结果噪声过多。 注:次数必须小于滤波器宽度,即Nleft + Nright + 1 |
Display Result |
是否显示结果 |
Output Raster |
输出文件路径 |
3 接口调用
本工具只需安装在ENVI路径中后,便可以通过接口调用其功能。
格式如下:
Task = ENVITask('ENVISavitzkyGolayFilterTask')
Task.NLeft = 5
Task.Nright = 5
Task.Order = 0
Task.Degree = 2
Task.Output_Raster_URI = 'D:\result.dat'
Task.Execute

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人