matlab读取文件夹中的遥感时序数据到一个三维数组中

问题描述

在GEE下的MODIS数据是每个doy为一张遥感影像的数据集,一年共46张影像,在同一文件夹中

在使用时,想将同一年的46个doy的数据读到同一三维数组中

一维为影像的行

二维为影像的列

三维为影像的doy

自己写了个简单的函数my_imread,可以直接调用

函数代码

function [matrix] = my_imread(inputfile)

file = ls(inputfile);
cd(inputfile);
filename = cellstr(file);
filename(1:2) = [];
num = length(filename);
for i = 1:num
    file_char = filename{i};
    eval(['a', num2str(i), '=', 'imread(file_char)', ';']);
    if i == 1
        matrix = a1;
    else
        eval(['matrix', '=', 'cat(3,matrix,','a',num2str(i),')', ';']);
    end
end

实例调用

两个.m文件放在同一文件夹,调用的时候要把两个一起打开

 调用的代码,自己改文件路径哟~

clc;
clear all;

tic
%你要读的文件夹路径
image_file = 'D:\filter\interdata\2020inter'; 
%调用函数my_imread
image = my_imread(image_file);
toc

运行结果:

 注意事项

1.函数是按照文件命名的排序读取的,我一般会按doy的顺序命名文件夹中的影像,如下图

 2.第一次读取的文件夹可能会报错,再点运行,将该文件夹添加到路径中就可以了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值