ENVI自带的非监督分类测试情况
最近写了两个关于遥感图像的简单的非监督分类算法KMEAN和ISODATA,发现结果和ENVI的一直有差异,而且还蛮大的,找了好久也没有找到原因。于是用PS自己绘制了一个简单的图像用于测试。如图1所示,该图中共有四个颜色(类别),四个角为绿色,上下为蓝色,左右为红色,中心为黄色。按道理来说,非监督分类应该初始种子点设置为4类应该可以将该图像分为四类。
图1 使用PS绘制的测试图像
首先使用ENVI自带的KMEAN分类,初始类别个数设置为5类,迭代次数为5,其他参数默认。图2是处理的结果。我自己写的KMEAN参数也是初始类别个数为5,迭代次数为5,处理结果见图3。从图2和图3对比可以看出,ENVI的结果就剩下2类,四周全部合并为一类,中间的黄色为另外一类。图3中处理的结果与原图一样,颜色是随机给的,所以颜色和原图不一样,类别个数还是5类。由于KMEAN对初始种子点的选取比较敏感,不知道ENVI的种子点是如何选取的,我自己使用随机数进行选取。
图2 ENVI的KMEAN处理结果
图3 我写的KMEAN处理结果
接下来再看看ISODATA分类的结果,和上面一样,初始类别个数设置为5和10,也就是最小五类,最大十类。迭代次数还是5次,图4是使用ENVI处理的结果,图5是我自己写的结果。对比发现,ISODATA相对KMEAN来说,效果要好一些(仅仅以图1中的数据来说),总共找出了四类,中间的和左右两边的合并为一类了。而我自己写的和原图类别个数保持一致,至少说明我写的没有错误。
图4 ENVI的ISODATA处理结果
图5 我写的ISODATA处理结果
下面是我写KMEAN和ISODATA算法参考的几个资料,有需要的同学可以看看。另外很多开源库里面都有这两个算法的源码,比如OpenCV,RSGIS,OTB等。
参考资料
[1]:k-means clustering http://en.wikipedia.org/wiki/K-means_clustering
[2]:KMean cluster algorithm http://blog.sina.com.cn/s/blog_51eea616010091ub.html
[3]:K-Mean Clustering Tutorials http://people.revoledu.com/kardi/tutorial/kMean/index.html
[4]:深入浅出K-Means算法 http://www.csdn.net/article/2012-07-03/2807073-k-means
[5]:基本Kmeans算法介绍及其实现 http://blog.csdn.net/qll125596718/article/details/8243404
[6]:A Tutorial on Clustering Algorithms http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/index.html
ENVI自带的非监督分类测试情况的更多相关文章
- Github实战测试情况
测试情况 很久没有熬夜测试程序了,经过测试,没有复现功能的有echo.葫芦娃.火鸡堂.那周余嘉熊掌将得队.为了交项目而干杯.修!咻咻!.云打印和追光的人.据汪老师反应在现场实践课程中大都能实现的,公平 ...
- 4分钟apache自带ab压力测试工具使用: 2015.10.4
2015.10.44分钟apache自带ab压力测试工具使用:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一下部 ...
- win8.1上wamp环境中利用apache自带ab压力测试工具使用超简单讲解
2015.10.4apache自带ab压力测试工具使用:本地环境:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一 ...
- sql 邮件发送测试情况
sql 邮件发送测试情况 select * from msdb.dbo.sysmail_allitems select * from msdb.dbo.sysmail_event_log
- 分布式事务之:TCC几个框架的测试情况记录
国内主要的开源TCC分布式事务框架包括 框架名称 Github地址 star数量 tcc-transaction https://github.com/changmingxie/tcc-tran ...
- 网站服务器压力Web性能测试(1):Apache Bench:Apache自带服务器压力测试工具
一个网站或者博客到底能够承受多大的用户访问量经常是我们在用VPS或者独立服务器搭建网站了最关心的问题,还有不少人喜欢对LNMP或者LAMP进行一些优化以便提高Web性能,而优化后到底有多大的效果,就需 ...
- 装饰器1、无参数的装饰器 2、有参数的装饰器 3、装饰器本身带参数的以及如果函数带return结果的情况
装饰器分成三种: 1.无参数的: 2.有参数的: 3.装饰器本身带参数的. 装饰器decorator又叫语法糖 定义:本质是函数,器就是函数的意思.装饰其他函数.就是为其他函数添加附加功能. 原则: ...
- PHP测试与优化(1)-- Apache自带的压力测试工具ab(apache bench) - 简单使用
ab是apache自带的网站压力测试工具,能够测试网站在一定时间内的发生高并发时的反应. 使用 1.进入apache的bin文件夹 2.模拟并发级别为100,请求数为1000个的api数据请求数量测试 ...
- spring boot web开发 简单的增删改查和spring boot 自带的Junit测试 案例
创建 web项目 配置pom.xml文件 ------相当于jar包 配置application.yml -----配置文件(spring数据库连接.server服务.logging日志等) 创建 ...
随机推荐
- UVA1349:Optimal Bus Route Design
题意:给定一个有向带权图,找若干个环,使得每个点属于且仅属于一个环,要求使得环权值之和最小 题解:发现这题中每个点属于且仅属于一个环,这时候"仅"这种恰好的含义,让我们想到了匹配问 ...
- ●BZOJ 3963 [WF2011]MachineWorks
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3963 题解: 斜率优化DP,CDQ分治. 先按时间排序.(规定以下内容的第i台机器的卖出时间 ...
- 关于Miller-Rabbin的一点想法
在好久之后终于搞完了miller-rabbin素性测试,谈谈自己的理解 要判断的数设为 a, 主要思想就是运用费马小定理来搞,随机几个数x(x<=a-1),判断x^(a-1)=1(mod a)是 ...
- Python入门之装饰器九步学习入门
第一步:最简单的函数,准备附加额外功能 '''示例1: 最简单的函数,表示调用了两次''' def myfunc(): print("myfunc() called.") myfu ...
- 浙大patB习题的一点总结
嘛嘛,patB的习题已经结束了,这些基本上没有啥特别难的,但还是有几道特别坑爹的题(o(╯□╰)o),还是把这些题的代码打包上传吧.
- cocos2d-x-3.x 学习总结(一)
这周学习了<cocos2d-x 3.x 游戏开发之旅>的第三章,做如下总结: 1.关于创建标签对象 书中是 Label* label = Label::create(); 可是总是提示出错 ...
- SpringMVC中url-pattern /和/*的区别
http://blog.csdn.net/u010648555/article/details/51612030
- supervisor使用,配置和安装(包括监控守护进程httpd,keepalived)
yum -y install supervisor(如果安装不成功,需要更新源,yum -y install epel) 或者: wget --no-check-certificate https:/ ...
- CF | Alyona and Numbers
After finishing eating her bun, Alyona came up with two integers n and m. She decided to write down ...
- Go 语言数组
Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0, number ...