读取tif文件内容代码

tifPath=‘E:\LhpData\data\test.tif’;
tifData = imread(tifPath);

读取raw文件格式代码

rawPath=‘E:\LhpData\data\testraw.raw’;
fid=fopen(rawPath,'rb');
rawData_1=fread(fid,32*1668,'uint16');
rawData_2=uint16(rawData_1);
rawData_3=reshape(rawData_2,[1668 32]);
rawData=rawData_3';
fclose(fid);

按照‘uint16’来读取数据一维数组进rawData_1时他会默认转换成double类型,因此在此处将其转换为uint16类型进入rawData_2中,随后由于matlab一维数组转二维数组时按照跨行的方式进行依次排放,因此将其转换为1668行,32列数据,然后再进行转置。

两者数据验证,算一下对应编号数据差值的最大值和平均值

clc;
clear;
Datapath='E:\LhpData\data\';
sub_value=zeros(32,1668);
for i=1:114
   name_1=[Datapath  num2str(i) '.raw'];  
   name_2=[Datapath  num2str(i) '.tif'];  
   fid=fopen(name_1,'rb');
   uploadImg_1=fread(fid,32*1668,'uint16');
   uploadImg_1=uint16(uploadImg_1);
   uploadImg_3=reshape(uploadImg_1,[1668 32]);
   uploadImg_3=uploadImg_3';
   fclose(fid);
   uploadImg_2 = imread(name_2);
   sub_value=double(uploadImg_2-uploadImg_3)+sub_value;
end
sub_mean=sub_value/114;
max_sub_value=max(max(sub_value));

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐