高光谱遥感图像端元提取工具箱
项目介绍
本项目实现高光谱遥感图像的端元自动提取功能,包含经典N-FINDR算法及其基于凸壳几何结构的改进版本。系统支持对经过波段压缩预处理的高光谱数据进行分析,用户可自定义需要提取的端元数量。算法通过寻找高维特征空间中最大单形体体积的方式确定最优端元组合,改进版本通过凸壳约束提升端元选择的几何合理性。
功能特性
- 双算法支持:集成标准N-FINDR算法和凸壳几何改进版本
- 自动端元提取:根据指定端元数量自动识别最优端元组合
- 几何优化:改进算法通过凸壳约束增强端元选择的合理性
- 完整输出:提供端元光谱特征、空间分布图、收敛曲线和迭代日志
- 高效计算:优化高维空间单形体体积计算流程
使用方法
输入参数
- 高光谱图像数据:三维矩阵格式(M×N×B)
- M:图像行数
- N:图像列数
- B:压缩后的波段数
- 端元数量:正整数,指定需要提取的端元个数
- 算法选择:标准N-FINDR算法或凸壳改进版本
输出结果
- 端元光谱特征矩阵(P×B):提取的端元光谱特征
- 端元空间分布图:端元在原始图像中的空间位置可视化
- 算法收敛曲线:迭代过程中单形体体积变化趋势
- 提取过程迭代日志:详细记录每次迭代的端元更新情况
系统要求
- MATLAB R2018a或更高版本
- 图像处理工具箱
- 足够内存支持大规模高光谱数据计算
文件说明
主程序文件实现了端元提取流程的完整控制,包括数据输入验证、算法调度执行、结果输出生成等核心功能。具体涵盖高光谱数据预处理、端元数量参数校验、N-FINDR算法核心迭代循环、凸壳约束条件应用、单形体体积计算优化、收敛性判断逻辑以及多种结果格式的输出控制。