Google Earth Engine(GEE)——ALOS PALSAR 数据上使用Refined Lee 滤波

Refined Lee 滤波的主要思想是使用局部均值和方差来估计图像中的噪声水平,然后根据这些估计值对图像进行滤波。该算法的步骤如下:

1. 对原始图像进行均值滤波,得到一幅平滑图像。
2. 将平滑图像与原始图像相减,得到一幅残差图像。
3. 对残差图像进行局部均值和方差的估计。
4. 根据局部均值和方差的估计值,计算出一个噪声标准差。
5. 对原始图像进行一个低通滤波器,将噪声标准差作为滤波器的参数。
6. 将低通滤波器处理后的图像与平滑图像相加,得到最终的滤波结果。

Refined Lee 滤波能够在降噪的同时保留图像的细节信息,因此在雷达和卫星图像处理中得到广泛应用。

Refined Lee 滤波的具体处理过程如下:

1. 对原始图像进行均值滤波,得到一幅平滑图像。

2. 将平滑图像与原始图像相减,得到一幅残差图像。

3. 对残差图像进行局部均值和方差的估计。具体地,对于每个像素点,选择一个局部窗口(一般为 $3\times 3$ 或 $5\times 5$ 的大小),计算窗口内像素的均值和方差,然后使用这些估计值来计算一个噪声标准差。

4. 根据局部均值和方差的估计值,计算出一个噪声标准差。具体地,可以使用以下公式计算:

   $$\sigma_n(i,j) = k \cdot \sqrt{\frac{\pi}{2}} \cdot \frac{\sigma_r(i,j)}{\sqrt{2}\cdot \sigma_s(i,j)}$$

   其中,$\sigma_n(i,j)$ 表示在位置 $(i,j)$ 处的噪声标准差,$\sigma_r(i,j)$ 表示在位置 $(i,j)$ 处的残差图像的局部方差,$\sigma_s(i,j

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用Google Earth Engine获取逐日NDVI的代码示例: ```javascript // 设置ROI var roi = ee.Geometry.Rectangle([xmin, ymin, xmax, ymax]); // 设置起始和结束日期 var startDate = ee.Date('2019-01-01'); var endDate = ee.Date('2019-12-31'); // 加载MODIS数据 var modis = ee.ImageCollection('MODIS/006/MOD13A1') .filterBounds(roi) .filterDate(startDate, endDate) .select('NDVI'); // 定义函数计算每个图像的年份和日数 var addDate = function(image) { var doy = image.date().getRelative('day', 'year'); return image.addBands(doy).addBands(image.date().get('year')); }; // 对图像集应用函数 var modisWithDate = modis.map(addDate); // 定义函数计算每个年份和日数的平均NDVI值 var reduceDaily = function(imageCollection, year, doy) { var filtered = imageCollection.filter(ee.Filter.calendarRange(year, year, 'year')) .filter(ee.Filter.calendarRange(doy, doy, 'day_of_year')); return filtered.mean().set('year', year).set('doy', doy); }; // 创建一个二维数组,其中第一维表示年份,第二维表示一年中的日数 var years = ee.List.sequence(startDate.get('year'), endDate.get('year')); var days = ee.List.sequence(1, 365); // 对所有年份和日数应用reduceDaily函数 var dailyNDVI = ee.ImageCollection.fromImages(years.map(function(y){ return days.map(function(d){ return reduceDaily(modisWithDate, y, d); }); }).flatten()); // 打印输出结果 print(dailyNDVI); ``` 在上述代码中,首先定义了一个感兴趣区域(ROI),然后加载了2000年至今的MODIS NDVI数据,并对其进行了筛选。接着定义了两个函数,一个函数用于向每个图像添加年份和日数作为带宽,另一个函数用于计算每个年份和日数的平均NDVI值。最后,将所有年份和日数应用到reduceDaily函数中,生成逐日的NDVI值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值