遥感分类图的碎斑去除(python)

通过分类算法得到遥感专题分类结果后,结果图中可能存在许多孤立的像素点。这些像素点占比不大,但是会导致结果的可视化效果很差,需要在实际应用中去除。

而ArcGIS软件并没有提供很好的函数或解决方案。

本程序主要使用了gdal库来完成对碎斑的清除。主要思想是先计算像素的连通域,然后将小于某个阈值的区域用周围的像元值进行替换。

完整代码如下:

"""
#
# 实现对分类结果的椒盐噪声(碎斑)去除
# 输入图像应该是分类图,像素值为整数
# 
@author: lxy
"""


from osgeo import gdal
import shutil
import os
import time



# 1 文件复制到新文件夹中
src_image = 'D:/test/classfication_2021.tif'

filename = os.path.basename(src_image)
src_path = os.path.dirname(src_image)

out_folder = src_path + '/result'
dst_image = os.path.join(out_folder,filename)

if not os.path.exists(out_folder):
    os.makedirs(out_folder)
shutil.copy(src_image,dst_image)

print('已加载数据')
st = time.time()
# 2 对文件夹中的文件处理
## 参数设置
remove_pixels =80    #碎斑像素
neighbours = 8    #连通域, 4或8

Image = gdal.Open(dst_image, 1)  # open i
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值