PDI

Pensando como o Software II: Classificação Supervisionada Método do Paralelepípedo – MATLAB

Pessoal Neste tutorial apresento a resolução do exercício proposto no post anterior pelo Método
do Paralelepípedo, que apesar de ser um dos métodos mais simples da Classificação Supervisionada
tem o seu valor por ser mais rápido no processamento, mas informo que perdemos um pouco na
“eficiência” devido suas restrições na hora de classificar, por isso aconselho que seja utilizado quando
se deseja “separar” poucas variedades.

por exemplo:
Realizar a classificação em uma imagem que só tenha Aguá de Vegetação.
Pode parecer banal, mas acredite tem suas aplicações.

Vejam a Resolução no MATLAB:

%Classificação Supervisionada
%Método do Paralelepípedo

clear
clc

%CLASSE 1
C1B1=[16;18;20;11;17;18;14;10;4;7] %AMOSTRAS DA BANDA 1
C1B2=[13;13;13;12;12;11;11;10;9;9] %AMOSTRAS DA BANDA 2
%CLASSE 2
C2B1=[8;9;6;8;5;7;4;6;4;3] %AMOSTRAS DA BANDA 1
C2B2=[8;7;7;6;5;5;4;3;2;2] %AMOSTRAS DA BANDA 2
%CLASSE 3
C3B1=[19;19;17;17;16;14;13;13;11;11] %MEDIA DAS AMOSTRAS DA BANDA 1
C3B2=[6;3;8;1;4;5;8;1;6;3] %MEDIA DAS AMOSTRAS DA BANDA 2

%Pixels:
C1X=5;
C1Y=9;
C2X=9;
C2Y=8;
C3X=15;
C3Y=9;

%valores máximos e mínimos
MAXC1B1 = max(C1B1);
MINC1B1 = min(C1B1);
MAXC1B2 = max(C1B2);
MINC1B2 = min(C1B2);

MAXC2B1 = max(C2B1);
MINC2B1 = min(C2B1);
MAXC2B2 = max(C2B2);
MINC2B2 = min(C2B2);

MAXC3B1 = max(C3B1);
MINC3B1 = min(C3B1);
MAXC3B2 = max(C3B2);
MINC3B2 = min(C3B2);

fprintf(‘——————-Teste para C1——————-\n’);
if C1X<=MAXC1B1 & C1X>=MINC1B1 & C1Y<=MAXC1B2 & C1Y>=MINC1B2
fprintf(‘O pixel X1 pertence a Classe 1 \n’);
end

if C1X<=MAXC2B1 & C1X>=MINC2B1 & C1Y<=MAXC2B2 & C1Y>=MINC2B2
fprintf(‘O pixel X1 pertence a Classe 2 \n’);
end

if C1X<=MAXC3B1 & C1X>=MINC3B1 & C1Y<=MAXC3B2 & C1Y>=MINC3B2
fprintf(‘O pixel X1 pertence a Classe 3 \n’);
end

fprintf(‘\n’);
fprintf(‘—————————————————\n’);
fprintf(‘\n’);

fprintf(‘——————-Teste para C2——————-\n’);
if C2X<=MAXC1B1 & C2X>=MINC1B1 & C2Y<=MAXC1B2 & C2Y>=MINC1B2
fprintf(‘O pixel X2 pertence a Classe 1 \n’);
end

if C2X<=MAXC2B1 & C2X>=MINC2B1 & C2Y<=MAXC2B2 & C2Y>=MINC2B2
fprintf(‘O pixel X2 pertence a Classe 2 \n’);
end

if C2X<=MAXC3B1 & C2X>=MINC3B1 & C2Y<=MAXC3B2 & C2Y>=MINC3B2
fprintf(‘O pixel X2 pertence a Classe 3 \n’);
end

fprintf(‘\n’);
fprintf(‘—————————————————\n’);
fprintf(‘\n’);

fprintf(‘——————-Teste para C3——————-\n’);
if C3X<=MAXC1B1 & C3X>=MINC1B1 & C3Y<=MAXC1B2 & C3Y>=MINC1B2
fprintf(‘O pixel X3 pertence a Classe 1 \n’);
end

if C3X<=MAXC2B1 & C3X>=MINC2B1 & C3Y<=MAXC2B2 & C3Y>=MINC2B2
fprintf(‘O pixel X3 pertence a Classe 2 \n’);
end

if C3X<=MAXC3B1 & C3X>=MINC3B1 & C3Y<=MAXC3B2 & C3Y>=MINC3B2
fprintf(‘O pixel X3 pertence a Classe 3 \n’);
end

fprintf(‘\n’);
fprintf(‘—————————————————\n’);
fprintf(‘\n’);

RESULTADO:
C1B1 =

16
18
20
11
17
18
14
10
4
7
C1B2 =

13
13
13
12
12
11
11
10
9
9
C2B1 =

8
9
6
8
5
7
4
6
4
3
C2B2 =

8
7
7
6
5
5
4
3
2
2
C3B1 =

19
19
17
17
16
14
13
13
11
11
C3B2 =

6
3
8
1
4
5
8
1
6
3

——————-Teste para C1——————-
O pixel X1 pertence a Classe 1

—————————————————

——————-Teste para C2——————-
O pixel X2 pertence a Classe 2

—————————————————

——————-Teste para C3——————-
O pixel X3 pertence a Classe 1

—————————————————

>>

O interessante é perceber a diferença entre as classificações, os resultados foram diferentes devido o Método

da Distância Mínima da Média ser mais eficiente do que o Método do Paralelepípedo.
Existem outros métodos melhores, um dos mais usados é o Máxima verossimilhança, mas irei parar por aqui!

=)

Espero que tenham gostado.

Anúncios

Pensando como o Software: Classificação Supervisionada Método da Distância Mínima da Média – MATLAB

Realização da Classificação Supervisionada de uma imagem multiespectral referente a uma região bem conhecida a priori, dispõe-se de um conjunto de dados de treinamento para três classes de informação, onde cada pixel é caracterizado em apenas duas componentes espectrais: B1 e B2.
Este exercício foi proposto por Elaine Costa, Professora de Processamento Digital de Imagens do IFG
Resolvendo o exercício no MATLAB
por: Amarildo Junior
%Classificação Supervisionada
%Metodo: Distancia Minima da Media
clear
clc
%CLASSE 1
C1B1=(16+18+20+11+17+18+14+10+4+7)/(10); %MEDIA DAS AMOSTRAS DA BANDA 1
C1B2=(13+13+13+12+12+11+11+10+9+9)/(10); %MEDIA DAS AMOSTRAS DA BANDA 2
%CLASSE 2
C2B1=(8+9+6+8+5+7+4+6+4+3)/(10); %MEDIA DAS AMOSTRAS DA BANDA 1
C2B2=(8+7+7+6+5+5+4+3+2+2)/(10); %MEDIA DAS AMOSTRAS DA BANDA 2
%CLASSE 3
C3B1=(19+19+17+17+16+14+13+13+11+11)/(10); %MEDIA DAS AMOSTRAS DA BANDA 1
C3B2=(6+3+8+1+4+5+8+1+6+3)/(10); %MEDIA DAS AMOSTRAS DA BANDA 2
M1=[C1B1;C1B2]
M2=[C2B1;C2B2]
M3=[C3B1;C3B2]
%Pixels:
X1=[5;9];
X2=[9;8];
X3=[15;9];
clc
fprintf(‘Calculo para o Primeiro Pixel’);
GM1=2*X1’*M1-M1’*M1
GM2=2*X1’*M2-M2’*M2
GM3=2*X1’*M3-M3’*M3
if GM1>GM2 & GM1>GM3
    fprintf(‘O pixel X1 pertence a Classe 1 \n’);
elseif GM2>GM1 & GM2>GM3
    fprintf(‘O pixel X1 pertence a Classe 2 \n’);
elseif GM3>GM1 & GM3>GM2
    fprintf(‘O pixel X1 pertence a Classe 3 \n’);
end
fprintf(‘\n’);
fprintf(‘—————————————————\n’);
fprintf(‘\n’);
fprintf(‘Calculo para o Segundo Pixel’);
GM12=2*X2’*M1-M1’*M1
GM22=2*X2’*M2-M2’*M2
GM32=2*X2’*M3-M3’*M3
if GM12>GM22 & GM12>GM32
    fprintf(‘O pixel X2 pertence a Classe 1 \n’);
elseif GM22>GM12 & GM22>GM32
    fprintf(‘O pixel X2 pertence a Classe 2 \n’);
elseif GM32>GM12 & GM32>GM22
    fprintf(‘O pixel X2 pertence a Classe 3 \n’);
end
fprintf(‘\n’);
fprintf(‘—————————————————\n’);
fprintf(‘\n’);
fprintf(‘Calculo para o Terceiro Pixel’);
GM13=2*X3’*M1-M1’*M1
GM23=2*X3’*M2-M2’*M2
GM33=2*X3’*M3-M3’*M3
if GM13>GM23 & GM13>GM33
    fprintf(‘O pixel X3 pertence a Classe 1 \n’);
elseif GM23>GM13 & GM23>GM33
    fprintf(‘O pixel X3 pertence a Classe 2 \n’);
elseif GM33>GM13 & GM33>GM23
    fprintf(‘O pixel X3 pertence a Classe 3 \n’);
end
RESULTADO:
Calculo para o Primeiro Pixel
GM1 =
   28.4600
GM2 =
   88.1900
GM3 =
  -14.2500
O pixel X1 pertence a Classe 2
—————————————————
Calculo para o Segundo Pixel
GM12 =
  113.8600
GM22 =
  126.3900
GM32 =
   96.7500
O pixel X2 pertence a Classe 2 
—————————————————
Calculo para o Terceiro Pixel
GM13 =
  298.4600
GM23 =
  208.1900
GM33 =
  285.7500
O pixel X3 pertence a Classe 1
>>

Derivative Calculator – Cálculo de Derivadas online

Todo Tecnólogo em Geoprocessamento se depara com a tal das derivadas em suas matérias iniciais,
hoje apresento à vocês um site que realiza o cálculo destas derivadas. Achei a página muito interessante
e resolvi compartilhar com vocês  para servir como base aos seus cálculos.

Para acessar clique na imagem abaixo.

Façam bom proveito.

acesse também http://www.geosenso.com


Instalando Linux em máquina Virtual – OSGeo Live

Vídeo Tutorial:
Instalando o melhor sistema para Geoprocessamento em Linux
utilizando máquina virtual [Virtual Box].

O OSGeo Live é um sistema bem completo para geoprocessamento
Veja os aplicativos inclusos que mais se destacam:

WebGIS/Webmapping:

-OpenLayers 2.10
-Geomajas — 1.8
-MapFish 2.2
-GeoMoose 2.4
-GeoServer 2.1.1
-MapServer 6.0.1
-GeoNetwork 2.6.4

Mapeamento e Gestão de Eventos Extremos (Desastres):

-Sahana Eden 0.5.5
-Ushahidi 2.1

Banco de Dados Geográfico:

-PostGIS 1.5
-SpatiaLite 2.3.1 / 2.4 beta
-Rasdaman 8.2 (banco de dados raster)
-pgRouting 1.05 (encaminhamento para PostGIS)

Desktop GIS

-Quantum GIS (QGIS) 1.7.0
-GRASS GIS 6.4.1
-gvSIG desktop 1.11
-uDig 1.2.2
-Kosmo GIS 2.0.1
-OpenJUMP GIS 1.4.0.1
-SAGA 2.0.7
-OSSIM 1.8.6 (Processamento de Imagens)
-Geopublisher 1.7 (Catálogos)
-AtlasStyler 1.7 (Editor de Estilo)

obs: Utilizei uma versão no vídeo roda pelo DVD não sendo necessário instalar no HD,
portando, deste modo toda vez que desejar executar este sistema, será necessário
executar novamente o arquivo do DVD conforme mostrado nos tutoriais.

espero que tenham gostado.
Mais tutoriais:
http://www.geosenso.com/


Registo Automático de Imagens – REGEEMY

Boa Tarde Galera!

Estava organizando aqui meus materiais de Geoprocessamento e encontrei um software bastante útil quando se deseja realizar registro de imagens. O nome do aplicativo é REGEEMY desenvolvido pelo INPE. O que chama atenção neste aplicativo é a geração automática de Tie Points.

Para realizar o download do arquivo basta clicar aqui, ou na imagem da interface do aplicativo logo abaixo.

Também disponibilizarei uma apresentação desenvolvida pela Dr. Leila M. G. Fonseca de como funciona o aplicativo.
Para acessar a apresentação clique aqui.
Espero que gostem do material.