python图像滤波filter_python遥感影像时间序列S-G滤波处理

python图像滤波filter_python遥感影像时间序列S-G滤波处理

2023年6月29日发(作者:)

python图像滤波filter_python遥感影像时间序列S-G滤波处理原理S-G滤波拟合⽅法是由Savitzky等在1964年提出的⼀种基于平滑时间序列数据和最⼩⼆乘原理的卷积算法,它是⼀种移动窗⼝的加权平均算法,但其加权系数不是简单的常数窗⼝,⽽是通过在滑动窗⼝内对给定⾼阶多项式的最⼩⼆乘拟合得出,其表达式为:其中, 为拟合值, 为像元原始值, 为第i个值滤波时的系数,m为半个滤波窗⼝的宽度,N为滤波器长度,等于滑动数组的宽度2m+1。python实现import osimport gdalimport numpy as npfrom import savgol_filter#读取tif数据集def readTif(fileName):dataset = (fileName)if dataset == None:print(fileName+"⽂件⽆法打开")return dataset#保存tif⽂件函数def writeTiff(im_data,im_geotrans,im_proj,path):if 'int8' in im_:datatype = _Byteelif 'int16' in im_:datatype = _UInt16else:datatype = _Float32if len(im_) == 3:im_bands, im_height, im_width = im_lif len(im_) == 2:im_data = ([im_data])im_bands, im_height, im_width = im_#创建⽂件driver = verByName("GTiff")dataset = (path, int(im_width), int(im_height), int(im_bands), datatype)if(dataset!= None):Transform(im_geotrans) #写⼊仿射变换参数jection(im_proj) #写⼊投影for i in range(im_bands):terBand(i+1).WriteArray(im_data[i])del datasetdef SG_filter(tifFolder,suffix):'''tifFolder tif所在⽂件夹suffix ⽣成结果⽂件名后缀'''# 获取⽂件夹内的⽂件名tifNameList = r(tifFolder)tifPath = tifFolder + "/" + tifNameList[0]dataset = readTif(tifPath)width = XSize #栅格矩阵的列数height = YSize #栅格矩阵的⾏数Tif_geotrans = Transform()Tif_proj = jection()Tif_data = Array(0,0,width,height)#获取数据Tif_datas = ((len(tifNameList), Tif_[0], Tif_[1]))for i in range(len(tifNameList)):tifPath = tifFolder + "/" + tifNameList[i]dataset = readTif(tifPath)Tif_data = Array(0,0,width,height)#获取数据Tif_datas[i] = Tif_data# 维度切换,便于后⾯的提取每个像素对应的各个时期值Tif_datas = Tif_es(1,0)Tif_datas = Tif_es(1,2)SGfilter = (Tif_)for i in range(Tif_[0]):for j in range(Tif_[1]):SGfilter[i][j] = savgol_filter(Tif_datas[i][j], window_length=7, polyorder=2)# 维度切换回去SGfilter = es(1,0)SGfilter = es(0,2)for i in range([0]):SavePath = xt(tifNameList[i])[0]+suffix+".tif"writeTiff(SGfilter[i], Tif_geotrans, Tif_proj, SavePath)SG_filter(r"E:Remote_Sensing_DataTVDIMOD11A22012tif_SpatialInterpolation","_LSTSGfilter")

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687976941a62799.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信