利用ENVI+IDL实现去除小斑块功能

0
分享 2016-06-04
1、背景介绍:
在做分类后,结果图中有很多小斑点,为了消除小斑点,ENVI下提供了一些去除小斑块的工具,包括Majority/Minority Analysis工具、Clump Classes工具、Sieve Classes工具。本工具主要是对其进行扩展,综合了Majority Analysis和Sieve Classes的功能,使得我们进行小斑去除时能够更加灵活的进行设置,来达到结果要求。
2、原理:
通过处理窗口内的值,使得小于阈值个数的像元值被窗口中像元个数最多的值替换。例如,设置一个窗口3x3,一共9个值;阈值为2表示在这9个值中,某一个或几个像素值的个数如果小于等于2, 将被这9个值中个数最多的值替代。该方法综合了Majority Analysis和Sieve Classes的功能,能够有效的去除孤立的小斑点。 你可以根据需求,自定义参数,得到多样的结果。
3、功能介绍:


界面上主要设置的参数有:移动窗口、阈值、步长(默认)。
“移动窗口”尽量设为奇数值,不能过大,影响结果。
“阈值”值越大,结果越平滑,小斑块消除越厉害。
“步长”表示窗口移动的像素距离;
“步长”值越大,运行越快,不超过“移动窗口”值;
“步长”值越小,运算量越大,可以按照默认的值;
“步长”值一般默认的与设置的“移动窗口”值一样(推荐使用默认值)。
4、安装:
链接:http://pan.baidu.com/s/1pK5EJOZ 密码:vp8n
注:包括源代码.pro
将removelittleblock.sav文件拷贝到X:\Program Files\ITT\IDL\IDLx.x\products\envix.x\save_add目录下。
5、使用:
(1)启动ENVI->classification->“去除小斑块”。
(2)选择单波段文件(分类结果),点击OK。如果没有文件供选择,可以用Open按钮来打开一单波段文件。(如下图)


(3)弹出“去除小斑块”对话框,设置参数相应的参数后,点击“确定”执行。参数设置可以查看“帮助”。(如下图)


6、处理效果:
分别对原始的分类图,进行Majority Analysis 3X3窗口处理和“去除小斑块”参数(3,3,3)处理,得到如下的对比结果。

7、总结
ENVI+IDL功能强大,能够很方便快速的进行遥感图像处理的功能扩展。ENVI提供了文件的输入输出以及众多的图像处理功能的函数。即使有些功能没有提供函数,只要知道了原理和算法,也能非常方便和快捷的利用IDL来实现,同时结合ENVI的文件输入输出函数就能够很好的进行遥感功能的扩展。
文章来源:http://blog.sina.com.cn/s/blog_764b1e9d0100uxii.html

0 个评论

要回复文章请先登录注册