matlab将mat格式高光谱图像转为tif格式

高光谱图像mat格式转为tif格式

以高光谱IndiaP数据为例,保存为200个波段的tif文件。ENVI软件只能读入tif格式的遥感图像数据

% mat2tif
% 将高光谱mat文件,保存为tif
clc; clear; close all;

%% load the hyperspectral image
path = './';
dataset = 'IndiaP';

location = [path, dataset];
load (location);

% 获取数组维度信息
[row, col, bands] = size(img);

% double类型转unit8
img_8 = uint8(img(:,:,:)/10000*256);

% 保存为tif图像
t = Tiff('imageIndiaP.tif','w');
% 影像信息
tagstruct.ImageLength = size(img_8,1); 
tagstruct.ImageWidth = size(img_8,2);  

% 颜色空间解释方式
tagstruct.Photometric = 1;

% 每个像素的数值位数,这里转换为unit8,所以为8位
tagstruct.BitsPerSample = 8;
% 每个像素的波段个数,一般图像为13,但是对于遥感影像存在多个波段所以常常大于3
tagstruct.SamplesPerPixel = bands;
tagstruct.RowsPerStrip = 16;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
% 表示生成影像的软件
tagstruct.Software = 'MATLAB'; 
% 表示对数据类型的解释
tagstruct.SampleFormat = 1;
% 设置Tiff对象的tag
t.setTag(tagstruct);

% 以准备好头文件,开始写数据
t.write(img_8);
% 关闭影像
t.close;
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
要将raw格式高光谱图像生成真彩色图像,您可以使用MATLAB中的以下步骤: 1. 读取raw格式高光谱图像数据。 您可以使用MATLAB中的imread函数读取图像数据。但是,由于raw格式图像数据并没有包含颜色信息,所以您需要指定其它参数,例如图像大小、数据类型、数据排列方式等。 2. 对高光谱图像进行处理。 高光谱图像通常具有很多波段(bands),每个波段包含了不同的光谱信息。为了将其换为真彩色图像,您需要将多个波段合并成RGB图像。这可以通过将三个重要的波段合并来完成,即红色波段、绿色波段和蓝色波段。 3. 将处理后的数据换为真彩色图像。 在MATLAB中,可以使用函数cat将处理后的数据合并为RGB图像。RGB图像包含三个分别代表红、绿、蓝颜色通道的矩阵。最后,您可以使用MATLAB中的imwrite函数将图像保存为真彩色图像格式,例如JPEG或PNG等。 以下是一个简单的MATLAB代码示例,演示如何从raw格式高光谱图像生成真彩色图像: ```matlab % 读取raw格式高光谱图像数据 raw_data = fread(fopen('example.raw'), [width, height], 'uint16'); % 对高光谱图像进行处理 red_band = raw_data(1:2:end, 1:2:end); green_band = raw_data(1:2:end, 2:2:end); blue_band = raw_data(2:2:end, 2:2:end); % 将处理后的数据换为真彩色图像 rgb_image = cat(3, red_band, green_band, blue_band); imwrite(rgb_image, 'example.jpg'); ``` 在这个示例中,我们假设原始高光谱图像大小为width * height,每个像素值的数据类型为uint16。然后,我们将图像数据处理为三个独立的波段(即红色、绿色和蓝色波段),并使用cat函数将它们合并为RGB图像。最后,我们使用imwrite函数将RGB图像保存为JPEG格式的真彩色图像。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值