高光谱图像分类源代码(UI,波段选择,独立成分分析,人工蜂群,SVM,)

工程效果
工程高光谱图像分类源代码(UI,波段选择,独立成分分析,人工蜂群,SVM,)_第1张图片

介绍

用pyqt搭建了一个UI,使用了ICA,FCM-ABC两种方法做了波段选择,和全波段三种数据对比,通过SVM(支持向量机)做了高光谱图像分类,并计算OA

涉及

1. Pavia University 图像分类

用的是支持向量机分类,简单效果好

2. pyqt界面

本来想用qt,但是写分类这些,python挺好用的,就用python qt写的界面,并且UI和逻辑是分类的。ui.py是整个界面的文件,progressBar.py是进度圈的代码

3. 波段选择算法

3.1 模糊C均值聚类+人工蜂群优化

模糊C均值有直接的库函数,调用sklearn里的 库就可以实现。

3.2 独立成分分析

其他

软件使用

装好库直接运行main.py就行了,显示界面后点加载即可加载光谱数据,点分类按钮即可分类
双击esc键即可退出

  • HSI文件夹下的高光谱图像没有上传,就是Pavia University scene图像
  • 工程很小,随便写个,没有专门去写适配多个图像的
  • pyqt的逻辑和UI是完全分类,通过信号链接,总共有两个线程,UI一个,数据一个
  • ABC(人工蜂群)有效果,但是不一定是最优,这个和聚类的结果也有关系
  • 个人觉得,大部分的波段选择其实都没有原始数据的效果好,论文里部分都是讲故事

参考

ABC参考

https://www.pianshen.com/article/729179041/

progressBar(进度圈控件)参考,这个写到自己的UI里的确挺麻烦

https://gitee.com/PyQt5/PyQt

你可能感兴趣的:(Python&机器学习)