GDAL+Python实现栅格影像处理之小斑块去除

GDAL+Python实现栅格影像处理之小斑块去除

小斑块去除

指定波段中小于指定像元个数的细小图斑清除,并且使用周围的像元值来替换。

使用方法

这里我们采用gdal.SieveFilter()方法进行小斑块去除。

  • 参数说明(未列完)
参数说明
srcBand输入数据波段
maskBand设置掩码波段(只对掩码区域进行处理)
dstBand输出数据波段
threshold去除板块的最大像元个数
connectedness图斑连通方式,通常指定为4或8
  • 代码实现
def SieveFilterTheRaster():
    # 参数说明 输入数据波段 、设置掩码波段(只对掩码区域进行处理)、输出数据波段、去除板块的最大像元个数、图斑连通方式
    threshold = 2
    connectedness = 4
    options = []
    format = 'GTiff'
    mask = 'none'
    inputfile=r'G:/studyprojects/gdal/GdalStudy/Files/images/CHA.tif'
    src_ds = gdal.Open(inputfile, gdal.GA_Update)
    srcband = src_ds.GetRasterBand(1)
    dstband = srcband
    if mask is 'default':
        maskband = srcband.GetMaskBand()
    elif mask is 'none':
        maskband = None
    else:
        mask_ds = gdal.Open(mask)
        maskband = mask_ds.GetRasterBand(1)
    prog_func = test()
    result = gdal.SieveFilter(srcband, maskband, dstband,
                              threshold, connectedness,
                              callback=prog_func)

效果展示

在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值