机器学习入门基础 | 基于python的高光谱图像特征挖掘:PCA + 形态学属性处理可视化实战

VIP机器学习入门基础 | 基于python的高光谱图像特征挖掘:PCA + 形态学属性处理可视化实战
本文介绍了一种基于PCA和形态学操作的高光谱图像特征提取方法。通过主成分分析降低数据维度,再运用面积开闭操作增强空间结构特征,有效去除噪声并填补孔洞。实验采用WHU-HI-HanChuan数据集,提供完整的Python实现代码,包括数据加载、PCA降维、形态学处理及结果可视化等步骤。该方法能够显著改善图像质量,为后续分类和变化检测任务提供更好的特征输入。实验结果表明,不同阈值的形态学处理能呈现不同程度的空间结构增强效果,对区域生长、分割和聚类等应用具有重要价值。
开通可读全文 ·1k 人阅读
最低0.47元/天 解锁文章

作者注:本文基于武汉大学WHU-HI-HanChuan高光谱数据集,介绍如何通过**主成分分析(PCA)与形态学属性操作(Area Opening & Closing)**实现特征挖掘与图像增强。该方法可以帮助我们更好地观察地物空间结构,为后续分类与变化检测提供先验特征。附完整Python代码与逐步讲解,助你掌握特征可视化的实用技巧。

一、背景介绍:特征挖掘在高光谱分析中的价值

高光谱遥感图像具有连续细致的光谱信息,为地物识别提供了强有力的依据。然而,面对成百上千个波段,如何有效提取和可视化有用的特征,成为遥感应用中的关键挑战。

为此,本文结合:

  • PCA(主成分分析):降低数据维度,提取主要信息;
  • 形态学属性操作(Area Opening/Closing):增强空间结构特征,如去除小斑块、填补小孔洞。

本文使用的实验数据为 WHU-HI-HanChuan 数据集,公开下载地址:

🔗 https://rsidea.whu.edu.cn/resource_WHUHi_sharing.htm

二、实验目标与流程

本实验的目标如下:

  1. 加载高光谱数据及地物标签;
  2. 利用PCA提取第一主成分作为灰度图;
  3. 对PCA图像应用形态学的开/闭操作;
  4. 将所有图像可视化在同一图中,便于比较;
  5. 保存图像结果用于后续分析。

三、Python代码详解与实现

(1)中文显示支持与必要库导入

为避免中文乱码与负号显示问题,首先进行Matplotlib参数设置:

import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei'  # 支持中文
matplotlib.rcParams['axes.unicode_minus'] = False  # 正常显示负号

同时导入主要库:

import os
import numpy as np
import scipy.io
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from skimage.morphology import area_opening, area_closing

(2)路径与文件读取设置

指定数据路径(根据自己实际路径修改):

data_dir = r"your_path"
x_path = os.path.join(data_dir, "WHU_Hi_HanChuan.mat")
y_path = os.path.join(data_dir, "WHU_Hi_HanChuan_gt.mat")

创建输出目录:

save_dir = os.path.join(data_dir, "MAP_Images")
os.makedirs(save_dir, exist_ok=True)

(3)数据加载函数定义

def load_data(x_path, y_path):
    x = scipy.io.loadmat(x_path)
    y = scipy.io.loadmat(y_path)
    x_key = [k for k in x if not k.startswith('__')][0]
    y_key = [k for k in y if not k.startswith(
机器学习与深度学习-3 监督学习的基本思路很直观:从数据中学习一个函数fX→YfX→Y将输入XXX映射为输出YYY。通常XXX称为观测值YYY称为目标值。我们利用标记数据集Dtrainxiyii1NDtrain​{(xi​yi​i1N​来学习这个函数——"标记"指拥有成对的XXX和YYY,即每个XXX都对应一个YYY,通常称YYY为真实值/真实标签,共NNN个样本。什么是泛化?理想情况下,我们希望从DtrainD。 34 阅读·0 点赞·0 收藏 阅读详情

相关推荐

【星链】用机器学习做 OFDM 信号识别:星链 vs LTE vs 5G NR

参数StarlinkLTE信道带宽240 MHz20 MHz100 MHz子载波间隔15 kHz60 kHzFFT 大小102420482048循环前缀32144144NNgN/N_gNNg​3214.214.2符号时长4.4 μs71.4 μs17.8 μs同步密度3 / ms0.4 / ms0.1 / msPAPR约 10–12 dB约 8–10 dB约 9–11 dB观察。

CAINIAOdaDIDI的博客 80

机器学习和深度学习-5

上次课讲了监督学习和深度学习的基础,简单提了提为什么用深度学习。今天聊一些进阶内容,帮你联想到现代深度学习模型,比如卷积神经网络、RNN、LSTM 和 Transformer。两种无监督学习范式:无监督学习(特别是生成模型)和自监督学习。和——它们在机器人领域都很实用。

智能机器人产学研基地 48

高光谱遥感波段提取程序设计与实战

回过头看,高光谱不仅仅是一项技术,更是一种深化人类对地球理解的方式。从最初的“看图说话”,到现在能够定量反演叶绿素含量、识别亚像素级矿物成分,我们在不断突破感知的边界。而这一切的背后,是无数工程师和科学家对每一个细节的执着打磨:一个滤波器的选择,一次参数的调整,一段代码的重构……正是这些看似微不足道的努力,汇聚成了通往真相的道路。所以,下次当你面对一堆杂乱的光谱曲线时,不妨对自己说一句:“别怕,噪声终将被滤去,真相总会浮现。” 🌟。

weixin_35390379的博客 1010

基于多重分形谱的高光谱数据特征提取

针对单一分形维数在高光谱数据处理中的不足,提出了一种基于多重分形谱的光谱信号奇异性特征提取方法,引入多重分形谱表征光谱曲线的奇异性特征。该方法根据分形测度将光谱曲线进行划分,用光谱概率测度计算配分函数,通过尺度指数的Legendre变换实现光谱曲线多重分形谱的提取,根据各类地物间的类别可分性准则Bhattacharyya距离选择有效特征,最后利用地物分类实验来验证该方法的有效性。实验结果表明,多重分形谱用于分类时分类精度达95.2%,当其维数为原数据波段数的10%时,总体分类精度仍可达82.2%。多重分形谱表征了具有相同奇异性的波段子集的分形维数,准确的描述了光谱曲线的奇异性和分布特点,该方法能够有效地实现高光谱数据的特征提取。

SCU【C】程序设计基础期末安全项目lab2-Deadbeef-writeup(附题目&源码)

项目名称(本质:栈溢出攻击)【源码在文首】和lab1一样,此题又是美国卡耐基梅隆大学的平时作业哈哈哈! 项目要求是把栈溢出,强行更改函数返回值,输出0xdeadbeef。

2301_79586491的博客 1540

ROS学习笔记之——无人机PID调参过程记录

For cooperaive inquiries, please visit the website:guanweipeng.com

gwpscut的博客 6818

AI辅助发明专利撰写实战:30分钟高效生成高质量技术专利文档

在技术专利撰写领域,尤其是软件、算法或系统架构相关的发明专利,如何将创新的技术构思快速、规范地转化为符合《专利法》要求的申请文件,是许多开发者和技术团队面临的共同挑战。传统的人工撰写方式不仅耗时耗力,对撰写人的法律和技术双重背景要求极高,还容易因格式或术语不规范导致审查意见增多。本文将分享一套利用 AI 辅助工具,系统化、高效率地完成一篇高质量发明专利说明书撰写的实战流程。通过清晰的步骤拆解、可复制的提示词(Prompt)工程以及关键注意事项,即使是首次接触专利撰写的开发者,也能在短时间内掌握从技术方案梳理

子夜轻风 923

计算机考研复试面试常问问题 数据结构篇(下)

计算机考研复试面试常问问题 数据结构篇(下) 使用前需知(拒绝白嫖,如果对你有帮助,你只需点个赞就行): 注意:有人在闲鱼上盗卖我的资料,而且还有很多同学买了,请各位擦亮双眼,我是整理出来免费分享给大家的! 大家请多点赞和评论,这样后面的同学更容易百度到,不至于被人盗卖,我就不加水印影响大家使用了! 第一次整理,度不好控制,有不好的地方希望大家理解,后面可能会改进,造福今年之后的同学们! ...

程序员宝藏的博客 1万+

脉冲变压器电感选型参数,结构原理,工艺与注意问题总结

脉冲变压器电感简称脉冲变压器,是一种特殊类型的变压器,主要用于处理脉冲信号。它的主要特性是能够在短时间内承受高电压和大电流。脉冲变压器主要用于开关电源、脉冲功率放大、雷达脉冲调制等领域。本文对脉冲变压器的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1321

【以太网硬件六】1000base-T物理层编码究竟是怎么编的?

详述1000base-T物理层4D-PAM5的编码过程

highman110的博客 5316

【Flutter 问题系列第 85 篇】Xcode 运行 Flutter 提示 The Dart VM Service was not discovered after 60 seconds.

在 Xcode 上运行 Flutter 时提示 `The Dart VM Service was not discovered after 60 seconds. This is taking much longer than expected...`,意思是 `60秒后未发现Dart虚拟机服务。这比预期的要长得多`

“Allen Su”的博客 2226

使用DrissionPage和自动化技术实现得物鞋子信息爬取

本文介绍了一个基于DrissionPage技术的得物鞋子信息采集系统,能自动化采集商品图片、价格等数据并保存为Excel。系统采用浏览器模拟技术处理动态加载内容,通过XPath定位元素,实现智能交互和完整数据采集。关键技术包括:图片URL提取与下载、Excel数据集成与图片嵌入、文件名安全处理等。项目适用于市场分析和学术研究,强调必须遵守法律法规和平台规则,仅用于非商业用途。与API爬虫相比,浏览器自动化能更好处理现代Web应用,但需注意知识产权保护。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1652

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 基于Phython利用CatBoost与PCA解析高光谱图像分类:WHU-HI-HanChuan数据集实战教程
下一篇: 深度学习与遥感入门(二)|基于PyTorch的HybridNet模型:CNN+Transformer结合的高光谱图像分类实战教程

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
遥感AI实战
博客等级 码龄9年 1002粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥感AI实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值