Вы находитесь на странице: 1из 13

INSTITUTO FEDERAL DO ESPIRITO SANTO

COORDENADORIA DE ENGENHARIA ELTRICA




JOO MARCUS RAMOS BACALHAU





PRATICA 7 MORFOLOGIA MATEMTICA APLICADA A IMAGENS






VITRIA
2014
2

INSTITUTO FEDERAL DO ESPIRITO SANTO
COORDENADORIA DE ENGENHARIA ELTRICA


JOO MARCUS RAMOS BACALHAU


PRATICA 7 MORFOLOGIA MATEMTICA APLICADA A IMAGENS




Relatrio da experincia pratica 7
apresentado ao professor Joo Marques
Salomo, da disciplina de
Processamento Digital de Imagens,
como requisito para obteno de nota no
curso de Engenharia Eltrica no Instituto
Federal do Esprito Santo Campus
Vitria.







VITRIA
2014
3

SUMRIO
1 OBJETIVOS ................................................................................................. 5
2 PROCEDIMENTO ....................................................................................... 6
2.1 Processamento por abertura e fechamento .......................................... 6
2.2 Aplicao dos scripts Mat_hitmiss.m e Mat_bwmorph.m. ..................... 6
2.3 Utilizao do script BWLabel ................................................................. 7
3 RESULTADOS ............................................................................................ 9
4 CONCLUSO ............................................................................................ 13



















4

Listas de figuras
Figura 1 Processamento por abertura e fechamento. ........................................ 9
Figura 2 Processamento por abertura e fechamento ......................................... 9
Figura 3 Processamento por bwmorph e na linha inferior por Hitmiss. ............ 10
Figura 4.Processamento por bwmorph e na linha inferior por Hitmiss. ............ 10
Figura 5 Obteno das posies os objetos em cena. ..................................... 11
Figura 6 Obteno das posies os objetos em cena ...................................... 12





5

1 OBJETIVOS

1 Analisar e aplicar scripts e funes bsicas para os clculos e
apresentaes grficas de operaes morfolgicas em imagens.
2 Utilizar as funes internas do Toolbox do Matlab especficas para a
morfologia matemtica;
6

2 PROCEDIMENTO

2.1 Processamento por abertura e fechamento

figure(1)
clc; clear all; close all;
% Abertura
f=imread('shape.tif');%Importa a imagem e trasforma para escala de
cinza
f=rgb2gray(f);
se=strel('disk',15);%Cria a mscara para realizar a opeo
fo=imopen(f,se);% Aplica a mscara
subplot(2,3,1),imshow(f);
title('Imagem Original');


subplot(2,3,2),imshow(fo);
title('Imagem Aberta');

% Fechamento
fc=imclose(f,se);% Aplica a mscara
subplot(2,3,3),imshow(fc);
title('Imagem Fechada');

% Filtragem com abertura e fechamento
% Abertura
f=imread('fingerprint.tif');%Importa a imagem
se=strel('square',3);
fo=imopen(f,se);% Aplica a mscara
subplot(2,3,4),imshow(f);
title('Imagem Original');
subplot(2,3,5),imshow(fo);
title('Imagem Aberta');

% Fechamento
foc=imclose(fo,se);% Aplica a mscara
subplot(2,3,6), imshow(foc);
title('Imagem Aberta e Fechada');

2.2 Aplicao dos scripts Mat_hitmiss.m e Mat_bwmorph.m.

clc; clear all; close all;
figure(1)
f=imread('fingerprint.tif');
subplot(2,4,1),imshow(f);
title('Imagem Original');

h1=bwmorph(f,'close',2);%Aplica a funo bwmorph close duas vezes
h2=bwmorph(f,'thin',2); %Aplica a funo bwmorph thin duas vezes

subplot(2,4,2),imshow(h1);
title('Imagem "Close"');

subplot(2,4,3),imshow(h1)
title('Imagem "thin"');
7


ginf=bwmorph(f,'thin',inf);%Aplica a funo bwmorph thin at a imagem
no mudar mais.
subplot(2,4,4),imshow(ginf);
title('Imagem "thin"');

B1=strel([0 0 0;0 1 1;0 1 0]);%Cria mscaras
B2=strel([1 1 1;1 0 0;1 0 0]);

f= imread('Hit_miss.tif');
f=rgb2gray(f);

subplot(2,4,5),imshow(f);
title('Imagem Original');
g=bwhitmiss(f,B1,B2);% Aplica a funo Hitmiss
% The hit-miss operation
% preserves pixels whose neighborhoods "match" the shape of SE1 and
% don't match the shape of SE2.
subplot(2,4,6),imshow(g);
title('Imagem hitmiss');



2.3 Utilizao do script BWLabel

clc; clear all; close all;
figure(1)
im=imread('Figura 1 JPEG.jpg');
subplot(4,1,1), imshow(im);
title('Imagem Original');
[m,n,t]=size(im);
bin_f=zeros(m,n);

% Binariza a imagem
for i=1:m
for j=1:n
% Binariza e detecta o objeto vermelo
if(im(i,j,1)> 240 && im(i,j,2)< 5 && im(i,j,3) < 5)
bin_f(i,j)=1;
end
% Binariza e detecta o objeto verde
if(im(i,j,1)< 5 && im(i,j,2)>127 && im(i,j,3) < 5)
bin_f(i,j)=1;
end
% Binariza e detecta o objeto azul
if(im(i,j,1)<5 && im(i,j,2)>108 && im(i,j,3) > 187)
bin_f(i,j)=1;
end
% Binariza e detecta o objeto laranja
if(im(i,j,1)>250 && im(i,j,2)>107 && im(i,j,3) > 28 &&
im(i,j,3) < 43)
bin_f(i,j)=1;
end

end
end
subplot(4,1,2), imshow(bin_f)
title('Imagem Binarizada');
8


% Filtra com o fechamento
se = strel('disk',5);
fec_f= imclose(bin_f,se);
subplot(4,1,3), imshow(fec_f);
title('Imagem fechamento');

% Filtra com a dilataao
se = strel('disk',1);
fec_f= imdilate(fec_f,se);
subplot(4,1,4),imshow(fec_f);
title('Imagem com dilatao e a posio central dos objetos');

% Indexa os components connectados em uma imagem 2-D binaria
[L,n]=bwlabel(fec_f,4);

% Retorna as coordenadas do centroide do 1o objeto
stats = regionprops(L,'Centroid');
cx = stats(1).Centroid(1,1);
cy = stats(1).Centroid(1,2);

% Retorna vetor indice das linhas e colunas e intensidades do 3o
objeto
[li,co]=find(L==3)
% calcula as coordenadas do centro de massa dos objetos
rbar=mean(li)
cbar=mean(co)


hold on;
for k=1:n
[r,c]=find(L==k);
% Retorna um vetor com as coordenadas dos centroides dos 3 objetos
rbar(c)=mean(r);
cbar(c)=mean(c);
%plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k',...
%'MarkerFaceColor','k','MarkerSize',10)
plot
(cbar,rbar,'Marker','*','MarkerEdgeColor','k','MarkerSize',10)
end






9

3 RESULTADOS


Figura 2 Processamento por abertura e fechamento
Figura 1 Processamento por abertura e fechamento.
10

Figura 3 Processamento por bwmorph e na linha inferior por Hitmiss.

Figura 4.Processamento por bwmorph e na linha inferior por Hitmiss.
11


Figura 5 Obteno das posies os objetos em cena.
12




Figura 6 Obteno das posies os objetos em
cena
13

4 CONCLUSO

Nesta atividade pratica foi possvel realizar diferentes operaes morfolgicas
com imagens binrias. Na primeira tarefa foi possvel visualizar a aplicao do
processo de abertura e fechamento de uma imagem. O resultado deste
processo pode ser visualizado nas Figuras 1 e 2. Neste processo foi utilizado
duas mscaras sendo elas do tipo disk e square. Na figura 1, onde o processo
de abertura e fechamento ficou mais evidente, possvel observar, como no
primeiro caso, que as caractersticas do objeto foram modificadas. Contudo na
imagem da impresso digital, ainda na figura 1, observa-se uma reduo
significativa do rudo alm da melhora na qualidade das linhas de expresso da
digital. A Figura 2 mostra uma imagem semelhante contudo o processo de
abertura e fechamento no modificou muito o primeiro objeto, apensar de ser
possvel notar um arredondamento das pontas da imagem. No caso do texto a
operao no foi capaz de melhorar o mesmo.
Na atividade seguinte aplicou-se as funes bwhitmiss e bwmorph. A funo
bwhitmiss preserva os pixels cujo os vizinhos so dos formatos da mscara
SE1 e no possuem o formato da mscara SE2, ambas so passadas como
parmetro para a funo. J a funo bwmorph implementa as principais
operaes morfolgicas. Nesta atividade ambas as funes foram utilizadas e
os resultados do processamento das imagens pode ser observado nas figuras
3 e 4.
Por fim, na ltima atividade utilizou-se o processo de fechamento juntamente
com a transformao para escala de cinza, a binarizao e a funo BWLabel,
para obter-se o centro dos objetos e consequentemente a distncia dos
mesmos a origem da imagem. Neste caso o processo e fechamento foi
importante pois possibilitou recuperar os pixels que haviam sido perdidos
durante o processo de binarizao da imagem original.

Вам также может понравиться