Azzera filtri
Azzera filtri

For loop for many images

3 visualizzazioni (ultimi 30 giorni)
reyadh Albarakat
reyadh Albarakat il 6 Apr 2017
Hi All,
I have thousands of images each image has size (228*196), Each 7 images have same date. I need your help to create a code to do calculation which is (7th image - 2nd image)/(7th image + 2nd image).. I want to do that for each date.
Thank you
Reyadh
  3 Commenti
reyadh Albarakat
reyadh Albarakat il 7 Apr 2017
Hi Walter Roberson,
yes there is a date and the band number here is the example:
((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b01_clip.tif_mosaico_ream.tif)) ((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b02_clip.tif_mosaico_ream.tif)) ((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b03_clip.tif_mosaico_ream.tif)) ((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b04_clip.tif_mosaico_ream.tif)) ((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b05_clip.tif_mosaico_ream.tif)) ((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b06_clip.tif_mosaico_ream.tif)) ((MOD09A1. A2000057.h21v05.006.2015136062042.hdf_sur_refl_ b07_clip.tif_mosaico_ream.tif))

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 7 Apr 2017
dinfo = dir('*_b02_clip.tif_mosaico_ream.tif');
nfile = length(dinfo);
filenames = {dinfo.name};
for K = 1 : nfile
b2_file = filenames{K};
b7_file = b2_file; b7_file(end-27) = '7';
b2_data = double( imread(b2_file) );
b7_data = double( imread(b7_file) );
result = (b7_data - b2_data) ./ (b7_data + b2_data);
%now what?
end
  6 Commenti
reyadh Albarakat
reyadh Albarakat il 7 Apr 2017
Hi Walter,
Now it works BUT with only one data NOT for all dates.
Please Walter could you complete your help to make it a loop for all dates
I appreciate your efforts
Thank you
Reyadh
Walter Roberson
Walter Roberson il 7 Apr 2017
It already loops over all dates, provided that the band 2 files all end in b02_clip.tif_mosaico_ream.tif
If not then you could perhaps use
dinfo = dir('*_b02_*.tif');
If the b02 part is not consistent then you need to be clearer as to how you can recognize the band number.

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by