【Pavia】遥感图像数据集下载地址和读取数据集代码



前言

遥感系列第13篇。遥感图像处理方向的学习者可以参考或者复刻

本文初编辑于2024年3月28日

CSDN:https://blog.csdn.net/rvdgdsva

博客园:https://www.cnblogs.com/hassle

总结:有一说一,从新手的角度上来说,Pavia数据集比Houston数据集友好了不知道多少倍

遥感图像,很自然科学吧,放个虚无战神暴力小朋友在此镇楼


Pavia数据集

Pavia University数据集是一个高光谱图像数据集,由一个被称为反射光学系统在意大利帕维亚市(ROSIS-3)的传感器收集。该图像由610×340像素,115个光谱波段组成。该图像被分为9类,共计42,776个标签样本,包括沥青、草地、砾石、树木、金属板、裸土、沥青、砖和阴影。

Pavia数据集地址:

https://www.ehu.eus/ccwintco/index.php/Hyperspectral_Remote_Sensing_Scenes#Pavia_Centre_and_University

下载的Pavia数据集是.mat格式的

下面提供Matlab和Python两种读取方式


Pavia数据集预览

PaviaU.mat

PaviaU_gt.mat


Pavia数据集的Matlab读取方式

Pavia数据集中PaviaU.mat的matlab读取代码

% 加载PaviaU.mat文件
load('PaviaU.mat') % 获取输入图像的尺寸
InputMatImg = paviaU;
b = size(InputMatImg);
fprintf('输入图像宽度为 %d\n', b(1));
fprintf('输入图像高度为 %d\n', b(2));
fprintf('输入图像波段数为 %d\n', b(3)); % 选择三个波段
i = 57; j = 34; k = 3; % 获取第i、j、k个波段
InputImg_r = InputMatImg(:,:,i);
InputImg_g = InputMatImg(:,:,j);
InputImg_b = InputMatImg(:,:,k); % 打印每个波段的最大像素值
fprintf('%d\n', max(InputImg_r(:))); % 为8000
fprintf('%d\n', max(InputImg_g(:))); % 为8000
fprintf('%d\n', max(InputImg_b(:))); % 为8000 % 将像素值缩放到0-255范围
InputImg_r = InputImg_r / 8000 * 255;
InputImg_g = InputImg_g / 8000 * 255;
InputImg_b = InputImg_b / 8000 * 255; % 打印缩放后的最大像素值
fprintf('%d\n', max(InputImg_r(:))); % 为255
fprintf('%d\n', max(InputImg_g(:))); % 为255
fprintf('%d\n', max(InputImg_b(:))); % 为255 % 将像素值转换为uint8类型
InputImg_r = uint8(InputImg_r);
InputImg_g = uint8(InputImg_g);
InputImg_b = uint8(InputImg_b); % 合成RGB图像
RGBImg = cat(3, InputImg_r, InputImg_g, InputImg_b); % 显示每个波段和合成波段的图像
figure;
subplot(221); imshow(InputImg_r); title('1号波段');
subplot(222); imshow(InputImg_g); title('2号波段');
subplot(223); imshow(InputImg_b); title('3号波段');
subplot(224); imshow(RGBImg); title('合成波段'); % 将每个波段和合成波段保存为图片文件
imwrite(InputImg_r, ['MATBand', num2str(i), '.jpg']);
imwrite(InputImg_g, ['MATBand', num2str(j), '.jpg']);
imwrite(InputImg_b, ['MATBand', num2str(k), '.jpg']);
imwrite(RGBImg, 'composite_img.jpg');

Pavia数据集中PaviaU_gt.mat的matlab读取代码

load('PaviaU_gt.mat')

fprintf('%d\n',max(paviaU_gt(:)));

paviaU_gt=paviaU_gt/max(paviaU_gt(:))*255

paviaU_gt= uint8(paviaU_gt);

imshow(paviaU_gt);title('这可就有点麻烦了');

Pavia数据集的Python读取方式

Pavia数据集中PaviaU.mat的Python读取代码

# 导入所需的库
from scipy import io
import numpy as np
from PIL import Image # 定义图像路径
imgPth = "PaviaU.mat" # 从.mat文件中加载图像数据
img = io.loadmat(imgPth)['paviaU'][:,:,[57,34,3]]
img = np.asarray(img) # 打印三个通道中的最大像素值
print(np.max(img[:,:,0]))
print(np.max(img[:,:,1]))
print(np.max(img[:,:,2])) # 将每个通道的像素值缩放到0-255范围内
img[:,:,0] = img[:,:,0]/np.max(img[:,:,0])*255
img[:,:,1] = img[:,:,1]/np.max(img[:,:,1])*255
img[:,:,2] = img[:,:,2]/np.max(img[:,:,2])*255 # 打印缩放后的每个通道的最大像素值
print(np.max(img[:,:,0]))
print(np.max(img[:,:,1]))
print(np.max(img[:,:,2])) # 对图像进行取整操作
img = np.ceil(img) # 将numpy数组转换为PIL图像对象
img = Image.fromarray(np.uint8(img)) # 保存图像为PNG格式
img.save("./PaviaU.png")

Pavia数据集中PaviaU_gt.mat的Python读取代码

from scipy import io
import numpy as np
from PIL import Image gtPth = 'PaviaU_gt.mat'
img = io.loadmat(gtPth)['paviaU_gt'][:,:]
img = np.asarray(img)
img= img/np.max(img)*255
img = Image.fromarray(np.uint8(img))
img.save("./PaviaU_gt.png")

【Pavia】遥感图像数据集下载地址和读取数据集代码的更多相关文章

  1. ArcGIS二次开发之读取遥感图像像素值的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 首先是读取遥感图像的R.G.B波段数据的做法.读取R.G.B波段数据的像素值主要通过IRaster接口的Read方法在 ...

  2. mnist数据集下载——mnist数据集提供百度网盘下载地址

    mnist数据集是由深度学习大神 LeCun等人制作完成的数据集,mnist数据集也常认为是深度学习的“ Hello World!”. 官网:http://yann.lecun.com/exdb/mn ...

  3. 【GIS风暴】30米分辨率地表覆盖数据GlobeLand30原始数据集简介及下载地址

    数据集预览: GlobeLand30是30米空间分辨率全球地表覆盖数据,目前可供下载使用的有3年的数据:2000-2010-2020,本文主要讲述GlobeLand30的官网下载地址和数据集简介. 数 ...

  4. Fast RCNN 训练自己数据集 (2修改数据读取接口)

    Fast RCNN训练自己的数据集 (2修改读写接口) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ http ...

  5. Landsat8免费下载地址

    一.国外 Landsat8提供免费下载,在USGS上有两个网站,下面介绍的这个网站操作比较方便.这里大赞美国的USGS和NASA机构,不但提供免费下载的数据,而且下载网站制作和维护的非常便捷.废话少说 ...

  6. 【Keras】基于SegNet和U-Net的遥感图像语义分割

    上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新 ...

  7. Navi.Soft31.代码生成器(含下载地址)

    1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码都是相同的,只需修改10%的代码量.此时 ...

  8. 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)

    开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...

  9. 谷歌浏览器下载地址 chrome最新版本 百度云地址

    每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...

  10. 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/1/5

    [iCore3 ARM代码下载地址][全部]DEMO1.0测试程序发布例程一:ARM驱动三色LED例程二:读取arm按键状态例程三:EXTI中断输入实验——读取ARM按键状态例程四:USART通信实验 ...

随机推荐

  1. Python之猜数字游戏

    说明: 本例改编自<Python编程快速上手>.例子很简单我就不多说了 直接上代码,给初学python练手用. 给你6次机会猜对一个预先生成好的1-20之间的整数.覆盖一下知识点: 条件语 ...

  2. golang生成一个dll供rundll32.exe调用

    背景: 项目用例需要覆盖场景:window rundll32.exe 调用dll并写一段内容到磁盘, 开始使用msf生成,会被安全软件拦截,索性用go 写一个 代码如下: package main i ...

  3. StretchDIBits在一些图像尺寸下失败

    StretchDIBits用来打印图像,但是由于某种未知的原因,当图像达到特定尺寸时,它会失败. 图像数据从其他一些图像源以24位BGR格式加载到无符号int数组中.它可以在某些大小下工作,但根本无法 ...

  4. OpenCV开发笔记(五十七):红胖子8分钟带你深入了解直方图反向投影(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  5. 【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列

    数组中重复的数字 数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数 ...

  6. 大众点评-CAT监控平台

    前言 我们禀着发现问题,解决问题的方针,针对后台诸多的服务,如何实时监控接口性能和访问频率,还要统计大盘信息?CAT作为大众点评开源的系统监控平台项目,下面就介绍一下CAT平台的搭建步骤. CAT作为 ...

  7. 八: Mysql配置文件的使用

    # Mysql配置文件的使用 1. 配置文件格式 与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为若干个组,丽个组有一个组名, 用中括号 [ ]扩起来,像这样: 像这个配置文件里就定义了 ...

  8. vue3使用路由keep-alive和监听路由实现transition

    随着vue3.0的发布,vue-router发布了4.0版本,文档 很明了,提供了vue2路由到vue3的变化和写法指导. vue2: // transition <transition nam ...

  9. liquibase customChange

    liquibase customChange liquibase changeset 执行Java代码. liquibase支持yml等文件,支持引入sql文件,还支持Java这种方式执行change ...

  10. MP实现ID自增 &日志 &自动填充 & 逻辑删除 &乐观锁

    默认ID自增 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 此时的依赖 <dep ...