III Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação
Recife - PE, 27-30 de Julho de 2010
p.001 de 005
USO DO MATLAB NA GERAÇÃO DE IMAGEM SINTÉTICA
COM MENOR PROPORÇÃO DE NUVEM
JOSÉ ARIMATÉIA BARROSO NETO
ANA LÚCIA BEZERRA CANDEIAS
Universidade Federal de Pernambuco - UFPE
Centro de Tecnologia e Geociências - CTG
Departamento de Engenharia Cartográfica, Recife, PE
[email protected];[email protected]
RESUMO - O objetivo do trabalho é criar um algoritmo com linguagem em MATLAB que gere uma
imagem sintética com menor proporção de nuvens a partir de duas imagens registradas entre si e obtidas
em tempos distintos sobre a mesma área e ambas com cobertura de nuvens em locais distintos na imagem.
ABSTRACT - The goal of the work was to create an algorithm with MATLAB language that obtain a
synthetic image with low proportion of clouds based on registered images and obtained in different times
over the same area and both with clouds covertures in different local.
1 INTRODUÇÃO
As imagens de satélite são utilizadas para
inúmeros fins, porém, nuvens e sombras causam
problemas na classificação automática, na análise visual e
na preparação de cartas temáticas baseadas em imagens.
A metodologia é de fácil compreensão, pois a
base dela é apenas o uso de funções que selecionam os
valores máximos, mínimos e medianos, pixel a pixel das
matrizes que representam as imagens sintéticas.
O litoral nordestino do Brasil, por exemplo, é
recoberto por nuvens o ano inteiro. As imagens dessas
áreas possuem, em geral, recobrimento de nuvens e
sombras. Isso diminui a área útil da imagem a ser
analisada.
Estudos para a minimização de nuvens e sombras
em imagens, a partir de processamento de imagens,
podem ser encontrados em Choi e Bindschadler (2004),
Polidório et al (2005), e Silva et al (2007).
O trabalho aqui apresentado visa a minimização
dessas interferências, através de um processamento em
duas ou mais imagens da mesma área, obtidas em tempos
de aquisição diferentes e com nuvens em pontos distintos.
Através dessas imagens, gera-se um produto sintético com
menos interferência de nuvens. É necessário considerar
que os realces das imagens sejam semelhantes. Caso isto
não ocorra é necessário aplicar transformações a essas
imagens para gerar um resultado uniforme para os seus
realces.
No caso aqui mostrado, tem-se a partir de uma
imagem original, a inserção sintética de nuvens e sombras
(Figura 1). O desenvolvimento teórico para diminuição da
presença de nuvens se baseia em Silva e Candeias (2007).
J. A. Barroso Neto, A. L. B. Candeias
Figura 1 – Imagens sintéticas de entrada. Imagens
sintéticas obtidas a partir da imagem TM de 01/11/2008
órbita/ponto: 216_066. bandas: 543.
A programação foi desenvolvida em MATLAB
(Gonzalez et al, 2003). Este trabalho é resultado do
trabalho final da disciplina de processamento de dados do
2º semestre de 2009, do Departamento de Engenharia
Recife - PE, 27-30 de Julho de 2010
p. 002 -005
III Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação
Cartográfica da UFPE ministrada pela profa. Ana Lúcia
que é co-autora desse artigo.
2 METODOLOGIA
Na metodologia utiliza-se uma imagem TM de
01/11/2008 órbita/ponto: 216_066. bandas: 543
sobreposta a nuvens e sombras sintéticas em duas
posições distintas como apresentado na Figura 1.
As nuvens são áreas de máximo na imagem e as
sombras são as áreas de mínimo. Trabalhar com um
algoritmo que gere imagens de máximo e de mínimo entre
imagens de épocas diferentes gerará duas novas imagens
uma com nuvem e outra com a sombra de nuvem. A
mediana entre imagens originais e a subtração das
imagens de máximo e mínimo, imagem de sombra vai
gerar uma imagem resultante que conterá menos nuvem e
sombra, pois na função mediana contempla-se o resultado
mediano.
Portanto, o programa consta em transformar as
imagens em matrizes do tipo double e aplicar as funções
de “max”,” min”, “median” e “subtração de matrizes”
para fazer o tratamento pixel a pixel.
Eles fazem uma comparação entre as matrizes
(imagem do tempo t1 e imagem do tempo t2) criando
novas matrizes, o “max” deixando apenas com os pontos
de maior valor, o “min” os pontos de menor valor e o
“median” fazendo uma mediana dessas imagens
(subtração de Max com Min) com as originais.
Supondo a imagem colorida, tem-se que o
algoritmo divida o problema em três bandas (RGB –
vermelho, verde, azul) e em cada banda são aplicadas
essas funções.
Numa escala de zero a duzentos e cinqüenta e
cinco, o zero representa o nível de cinza que representa o
preto e o duzentos e cinqüenta e cinco o que representa o
branco.
O diagrama de blocos mostra de forma geral a
seqüência de passos (Figura 2).
O programa em MATLAB mostrado nesse artigo
descreve passo a passo dessa transformação. É importante
lembrar que o MATLAB está sendo aqui usado apenas
para prototipar. A posteriori gerar o programa em uma
linguagem compilada e com técnicas de algoritmos
rápidos vai gerar uma maior rapidez no processamento e
aceitará qualquer tamanho de imagem.
O programa em MATLAB é mostrado nessa seção
e foi desenvolvido para ler uma imagem colorida RGB e
obter uma saída também em RGB com menor proporção
de nuvens e sombras.
J. A. Barroso Neto, A. L. B. Candeias
Figura 2 - Diagrama de blocos
%------------------------------------------------------------------% Programa em MATLAB para geração de imagem
% sintética com menor cobertura de nuvem e sombra de
% nuvem
%
% Este programa foi baseado no programa desenvolvido
% por Silva e Candeias (2007)
%------------------------------------------------------------------clear all
a=imread('imagemA.bmp');
b=imread('imagemB.bmp');
imshow(a)
TITLE('Figura - A')
figure
imshow(b)
TITLE('Figura - B')
f1=double(a);
f2=double(b);
final=a;
%------------------------------------------------------------%
Banda R
%------------------------------------------------------------R1=f1(:,:,1);
R2=f2(:,:,1);
%figure
%imshow(uint8(R1));
%TITLE('Figura - R1')
III Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação
%figure
%imshow(uint8(R2));
%TITLE('Figura - R2')
[m,n]=size(R1);
for i=1:m
for j=1:n
me=[R1(i,j),R2(i,j)];
R3(i,j)=min(me);
end
end
figure
imshow(uint8(R3));
TITLE('Figura - R3')
for i=1:m
for j=1:n
me=[R1(i,j),R2(i,j)];
R4(i,j)=max(me);
end
end
figure
imshow(uint8(R4));
TITLE('Figura - R4')
R5=(R4-R3);
figure
imshow(uint8(R5));
TITLE('Figura - R5')
for i=1:m
for j=1:n
me=[R1(i,j),R2(i,j),R5(i,j)];
R7(i,j)=median(me);
end
end
figure
imshow(uint8(R7));
TITLE('Figura - R7')
final(:,:,1)=uint8(R7);
%------------------------------------------------------------%
Banda G
%------------------------------------------------------------G1=f1(:,:,2);
G2=f2(:,:,2);
%figure
%imshow(uint8(G1));
%TITLE('Figura - G1')
%figure
%imshow(uint8(G2));
%TITLE('Figura - G2')
[m,n]=size(G1);
for i=1:m
for j=1:n
me=[G1(i,j),G2(i,j)];
G3(i,j)=min(me);
end
end
figure
J. A. Barroso Neto, A. L. B. Candeias
Recife - PE, 27-30 de Julho de 2010
p. 003 -005
imshow(uint8(G3));
TITLE('Figura - G3')
for i=1:m
for j=1:n
me=[G1(i,j),G2(i,j)];
G4(i,j)=max(me);
end
end
figure
imshow(uint8(G4));
TITLE('Figura - G4')
G5=(G4-G3);
figure
imshow(uint8(G5));
TITLE('Figura - G5')
for i=1:m
for j=1:n
me=[G1(i,j),G2(i,j),G5(i,j)];
G7(i,j)=median(me);
end
end
figure
imshow(uint8(G7));
TITLE('Figura - G7')
final(:,:,2)=uint8(G7);
%------------------------------------------------------------%
Banda B
%------------------------------------------------------------B1=f1(:,:,3);
B2=f2(:,:,3);
%figure
%imshow(uint8(B1));
%TITLE('Figura - B1')
%figure
%imshow(uint8(B2));
%TITLE('Figura - B2')
[m,n]=size(B1);
for i=1:m
for j=1:n
me=[B1(i,j),B2(i,j)];
B3(i,j)=min(me);
end
end
figure
imshow(uint8(B3));
TITLE('Figura - B3')
for i=1:m
for j=1:n
me=[B1(i,j),B2(i,j)];
B4(i,j)=max(me);
end
end
figure
imshow(uint8(B4));
TITLE('Figura - B4')
B5=(B4-B3);
III Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação
figure
imshow(uint8(B5));
TITLE('Figura - B5')
for i=1:m
for j=1:n
me=[B1(i,j),B2(i,j),B5(i,j)];
B7(i,j)=median(me);
end
end
figure
imshow(uint8(B7));
TITLE('Figura - B7')
final(:,:,3)=uint8(B7);
% Resultado Final
figure
Recife - PE, 27-30 de Julho de 2010
p. 004 -005
imshow(final)
TITLE('Resultado Final')
A imagem do exemplo utilizada foi a do sensor
TM 01/11/2008 orbita/ponto: 216_066 combinação de
bandas: 543. Foram geradas, duas imagens sintéticas para
o exemplo (Figura 1).
A Figura 3 mostra as imagens de entrada e o
resultado obtido para o programa acima descrito.
As Figuras 4(a),(b) e (c) mostram apenas para a
banda do vermelho R porém a metodologia foi feita com
as três bandas R, G, e B.
Figura 3 - Imagens de entrada com nuvens sintéticas em pontos distintos
(Figura - A e Figura – B) e o resultado da metodologia.
J. A. Barroso Neto, A. L. B. Candeias
III Simpósio Brasileiro de Ciências Geodésicas e Tecnologias da Geoinformação
Recife - PE, 27-30 de Julho de 2010
p. 005 -005
3 CONSIDERAÇÕES FINAIS
O algoritmo mostrado consegue reduzir a zero a
quantidade de nuvens de duas imagens sintéticas obtidas
nos tempos t1 e t2 (Figura 3 e 4).
O algoritmo é bem direto e de fácil compreensão,
e pode servir para futuros estudos e modificações para
que se obtenha melhores resultados em imagens com
nuvens e sombras.
Sugere-se trabalhar em outras imagens essa
metodologia para certificar se ela pode ser considerada
geral.
(a) Para a banda G: Imagens de entrada G1 e G2.
REFERÊNCIAS
Silva, Alison Galdino de Oliveira , Candeias, Ana Lucia
Bezerra. Geração de Imagem Sintética com Menor
Proporção de Nuvens a Partir de Imagens Multitemporais.
Anais do II Simpósio Brasileiro de Geomática e V
Colóquio Brasileiro de Ciências Geodésicas, Anais... 2427 de Julho de 2007. UFPR, 5p.
Gonzalez, R.C.; Woods, R.E.; Eddins, S. L.. Digital
Image Processing Using MATLAB. 1st Edition. Editora
Edgard Blücher Ltda. 2003.
Choi, H., Bindschadler, R. Cloud detection in Landsat
imagery of ice sheets using shadow matching technique
and automatic normalized difference snow index
threshold value decision. Remote Sensing of
Environment 91 (2004) p.237–242
(b) Para a banda G: Imagens de sombra de nuvem
(Figura– G3) e imagem de nuvens (Figura – G4)
Polidorio, A. M., Imai, N. N., Tommaselli, A. M. G.
Correção radiométrica das imagens multiespectrais
CBERS e LANDSAT ETM usando atributos de
reflectância e de cor. In: Simpósio Brasileiro de
Sensoriamento Remoto (SBSR), 12., 2005, Goiânia.
Anais... São José dos Campos: INPE, 2005, p. 42414248.
Silva, W. A.,; Imai, N. N.; Polidorio, A. M. Detecção de
nuvens e sombras em imagens CCD/CBERS por
correlação de pontos candidatos. Anais XIII Simpósio
Brasileiro
de Sensoriamento
Remoto, Anais...
Florianópolis, Brasil, 21-26 abril 2007, INPE, p. 61996206.
(c) Imagem da subtração das imagens da Figura 3(c) G4-
G3 e o resultado final obtido a partir da mediana de cada
elemento da matriz (Mediana[G1(i,j),G2(i,j),G5(i,j)])
Figura 4 – Aplicação da metodologia
J. A. Barroso Neto, A. L. B. Candeias
Download

uso do matlab na geração de imagem sintética com menor