【Pavia】遥感图像数据集下载地址和读取数据集代码
【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数据集地址:
下载的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】遥感图像数据集下载地址和读取数据集代码的更多相关文章
- ArcGIS二次开发之读取遥感图像像素值的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 首先是读取遥感图像的R.G.B波段数据的做法.读取R.G.B波段数据的像素值主要通过IRaster接口的Read方法在 ...
- mnist数据集下载——mnist数据集提供百度网盘下载地址
mnist数据集是由深度学习大神 LeCun等人制作完成的数据集,mnist数据集也常认为是深度学习的“ Hello World!”. 官网:http://yann.lecun.com/exdb/mn ...
- 【GIS风暴】30米分辨率地表覆盖数据GlobeLand30原始数据集简介及下载地址
数据集预览: GlobeLand30是30米空间分辨率全球地表覆盖数据,目前可供下载使用的有3年的数据:2000-2010-2020,本文主要讲述GlobeLand30的官网下载地址和数据集简介. 数 ...
- Fast RCNN 训练自己数据集 (2修改数据读取接口)
Fast RCNN训练自己的数据集 (2修改读写接口) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ http ...
- Landsat8免费下载地址
一.国外 Landsat8提供免费下载,在USGS上有两个网站,下面介绍的这个网站操作比较方便.这里大赞美国的USGS和NASA机构,不但提供免费下载的数据,而且下载网站制作和维护的非常便捷.废话少说 ...
- 【Keras】基于SegNet和U-Net的遥感图像语义分割
上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新 ...
- Navi.Soft31.代码生成器(含下载地址)
1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码都是相同的,只需修改10%的代码量.此时 ...
- 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...
- 谷歌浏览器下载地址 chrome最新版本 百度云地址
每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...
- 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/1/5
[iCore3 ARM代码下载地址][全部]DEMO1.0测试程序发布例程一:ARM驱动三色LED例程二:读取arm按键状态例程三:EXTI中断输入实验——读取ARM按键状态例程四:USART通信实验 ...
随机推荐
- Python之猜数字游戏
说明: 本例改编自<Python编程快速上手>.例子很简单我就不多说了 直接上代码,给初学python练手用. 给你6次机会猜对一个预先生成好的1-20之间的整数.覆盖一下知识点: 条件语 ...
- golang生成一个dll供rundll32.exe调用
背景: 项目用例需要覆盖场景:window rundll32.exe 调用dll并写一段内容到磁盘, 开始使用msf生成,会被安全软件拦截,索性用go 写一个 代码如下: package main i ...
- StretchDIBits在一些图像尺寸下失败
StretchDIBits用来打印图像,但是由于某种未知的原因,当图像达到特定尺寸时,它会失败. 图像数据从其他一些图像源以24位BGR格式加载到无符号int数组中.它可以在某些大小下工作,但根本无法 ...
- OpenCV开发笔记(五十七):红胖子8分钟带你深入了解直方图反向投影(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- 【LeetCode剑指offer 01】数组中重复的数字、两个栈实现队列
数组中重复的数字 数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数 ...
- 大众点评-CAT监控平台
前言 我们禀着发现问题,解决问题的方针,针对后台诸多的服务,如何实时监控接口性能和访问频率,还要统计大盘信息?CAT作为大众点评开源的系统监控平台项目,下面就介绍一下CAT平台的搭建步骤. CAT作为 ...
- 八: Mysql配置文件的使用
# Mysql配置文件的使用 1. 配置文件格式 与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为若干个组,丽个组有一个组名, 用中括号 [ ]扩起来,像这样: 像这个配置文件里就定义了 ...
- vue3使用路由keep-alive和监听路由实现transition
随着vue3.0的发布,vue-router发布了4.0版本,文档 很明了,提供了vue2路由到vue3的变化和写法指导. vue2: // transition <transition nam ...
- liquibase customChange
liquibase customChange liquibase changeset 执行Java代码. liquibase支持yml等文件,支持引入sql文件,还支持Java这种方式执行change ...
- MP实现ID自增 &日志 &自动填充 & 逻辑删除 &乐观锁
默认ID自增 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 此时的依赖 <dep ...