Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Directorio donde guardo las regiones obtenidas de la imagen
- if ~exist('./regiones', 'dir')
- mkdir('./regiones');
- end
- % Años para los cuales voy a leer data
- years = 1978:2012;
- % Inicializo array con las areas
- areas = zeros(length(years), 1);
- %for i=1:1%length(archivosPng)
- for i = 1:length(years)
- year = years(i);
- % La data la guardo por año, así evito los duplicados
- %year = num2str(file_name(14:17));
- % Dado que son muchos y que esto va a llevar tiempo, es mejor ir
- % guardando los datos a medida que vamos trabajando
- region_file = fullfile(cd, strcat('regiones/', num2str(year), '.txt'));
- % Si ya procesé este archivo entonces cargo los datos directamente
- if exist(region_file, 'file')
- data = load(region_file);
- x = data(:,1)';
- y = data(:,2)';
- else
- % Nombre del archivo (extensión incluida)
- files = ls(strcat('Ozono14/Años/*', num2str(year), '1*.png'));
- disp(files);
- if isempty(files)
- disp(['No data for ', num2str(year)]);
- continue;
- end
- file_name = files(1,:);
- % cargo imagen
- img = imread(strcat('Ozono14/Años/', file_name));
- % escalo imagen para eliminar distorsion
- imagesc(img);
- % igualo ejes
- axis equal
- % magia recomendada por el teacher
- caxis([0 255]);
- % Extraigo formato del nombre del archivo
- format = file_name(10:13);
- % Cargo mapa de colores correspondiente
- if strcmp(format, 'ept_') || ...
- strcmp(format, 'mt3_') || ...
- strcmp(format, 'n7t_') || ...
- strcmp(format, 'omi_') || ...
- strcmp(format, 'toms')
- if format(4) == '_'
- format = format(1:3);
- end
- map = load(strcat('Ozono14/Años/', format, '.mat'));
- colormap(map.(format));
- else
- error(strcat('Unknown format: ', format));
- end
- % Para poder hacer zoom en la imagen
- %input('');
- %ginput(1);
- % Seleccionamos la region a la cual se le quiere calcular el area
- % Utilizamos imfreehand que da mejor presición que finput
- h = imfreehand;
- pos = getPosition(h);
- close all;
- x = pos(:,1);
- y = pos(:,2);
- % empezamos a seleccionar los puntos
- %[x, y] = ginput();
- % Guardo los puntos capturados en el archivo
- data = [ x y ];
- save(region_file, 'data', '-ascii');
- end
- areas(i) = polyarea(x, y);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement