【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像素,103个光谱波段组成。该图像被分为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")
  • 39
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pavia University数据集是一个面向遥感图像分类和地物识别的数据集。它是在意大利Pavia市采集的一个高光谱数据集。 这个数据集包含了三个主要的高光谱图像,分别是Pavia University场景的地物、原始High-Resolution Visible (HRV)图像和相应的地物分割图。HRV图像包含了103个波段,用来表示地面反射率值。其中,103个波段中的五个波段是缺失的。地物分割图提供了7320个地物类别的标注,可用于训练和验证机器学习算法。 通过对这个数据集的分析,可以进行许多实际应用领域的研究和开发。例如,在土地利用规划中,可以使用高光谱图像分类算法对地物进行自动分割和分类,以帮助测量土地利用的状态和变化。在环境监测中,可以利用这些数据来监测水体质量、植被分布和城市土地利用情况等自然和人工环境的变化。 Pavia University数据集的特点在于其高空间、光谱和光谱色彩分辨率,以及多样性的地物类别。但是,由于数据集的规模较大,使用传统的处理方法进行分析可能会面临一些挑战。因此,研究人员可以使用各种机器学习算法和图像处理技术来提取和利用这些数据集中的有用信息。 总之,Pavia University数据集是一个重要的高光谱数据集,适用于地物分类、土地利用规划和环境监测等领域的研究和应用。对于数据科学和遥感图像处理领域的学习者和研究者来说,这个数据集提供了一个宝贵的资源,可以促进相关领域的研究和创新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值