Você está na página 1de 20

UNIVERSIDADE FEDERAL DO TRIANGULO MINEIRO

INSTITUTO DE CIÊNCIAS TECNOLÓGICAS E EXATAS

André Ajonas Lavez


Gabriel de Souza Augusto

Trabalho 7 - PDI

Uberaba
Novembro – 2016
André Ajonas Lavez
Gabriel de Souza Augusto

Trabalho 7 - PDI

Trabalho apresentado para disciplina


Processamento digital de imagens para fins
avaliativos.
Prof. Dr. Luciano Xavier Medeiros

Uberaba
Novembro – 2016
i

LISTA DE FIGURAS
Figura 1 – Máscaras utilizadas ..................................................................................... 3
Figura 2 – Operador Sobel.. ............................................................................................ 5
Figura 3 – Máscara item B.............................................................................................. 6
ii
iii

SUMÁRIO
1. INTRODUÇÃO ..........................................................................................................1

2. RESUMO TEÓRICO.................................................................................................3

3. RESULTADOS OBTIDOS ........................................................................................5

4. CONCLUSÃO ............................................................................................................7

5. REFERÊNCIAS .........................................................................................................9

6. ANEXOS .....................................................................................................................11

6.1 CÓDIGO PRINCIPAL .......................................................................................... 11

6.2 FUNÇÃO MÁSCARA .......................................................................................... 11


iv
1

1. INTRODUÇÃO

Nesse relatório verificaremos a importância do uso de detectores de borda, e quais seus


efeitos quando aplicado a imagens.
Daremos início ao relatório aplicando o Operador de Sobel, o qual é uma famoso
detector de borda. Posteriormente utilizaremos uma máscara fornecida pelo professor e
analisaremos as diferenças entre ela e a máscara de Sobel.
Também será estudado o que acontece aos ruídos inerentes da imagem quando
aplicando a ambos operadores.
2
3

2. RESUMO TEÓRICO

Como enunciado no trabalho 5, neste trabalho também utilizaremos pequenas sub-


imagem, ou também conhecida como máscaras. Contudo os coeficientes internos das máscaras
serão conforme mostrado na Figura 1 na qual está claro o gradiente de Sobel horizontal e
vertical, além de outra máscara que foi implementada no item b.

Figura 1 – Máscaras utilizas. Gradiente de Sobel (a) horizontal e (b) vertical. (c) Máscara item B.
Fonte: Autória própria.

O gradiente é uma operação que resulta em função vetorial, a qual exibe a direção da
máxima variação da função em que o gradiente foi aplicado [1]. Quando o operador gradiente
é aplicado em uma imagem, as maiores variações, que no caso são as bordas e ruídos, tendem
a se tornarem mais expressivas que o restante da imagem.
O gradiente de Sobel faz o uso de derivadas de segunda ordem para determinar o
gradiente, e posteriormente o laplaciano, a partir da raiz quadrada da soma dos gradientes
horizontal e vertical ao quadrado [2].
4
5

3. RESULTADOS OBTIDOS

Conforme soliciado na Figura 2 temos a aplicação do operador de Sobel:

Figura 2 – Operador Sobel. (a) Imagem original, (b),(c), (d) gradiente de Sobel horizontal, vertical,
junção respctivamente, (e) laplaciano.
Fonte: Autória própria.

Na Figura 3 temos a aplicação da máscara solicitada no item B:


6

Figura 3 – Máscara item B. (a) Imagem original, (b),(c), (d) gradiente horizontal, vertical, junção
respctivamente, (e) laplaciano.
Fonte: Autória própria.
7

4. CONCLUSÃO

Após aplicarmos as 2 técnicas diferentes, notamos que o elemento central da sub-


imagem tende a aguçar de maneira notória os ruídos. Fica claro tal afirmação quando
comparamos as Figuras 2 e 3. Sendo que a 3 apresenta uma maior presença de ruído.
Ficou claro também que as imagens após o processamento escureceram muito, isso se
deve ao falto que ambas as máscaras possuem características de filtros passa alta, os quais tem
como principal efeito extração do nível DC da imagem.
Outra analise que notamos foi que com o uso de derivadas de segunda ordem, as bordas
tendem a se destacar mais, comparando o Sobel com a máscara utilizada. Além disso vimos o
comportamento dos gradientes horizontais e verticais, e como eles conseguem detectar as
bordas horizontais e verticais respectivamente.
8
9

5. REFERÊNCIAS

[1] L. Leithold, CALCULO COM GEOMETRIA ANALITICA - VOLUME 2, 3o ed. São


Paulo: Harbra, 1994.
[2] R. Gonzales e R. Woods, PROCESSAMENTO DE IMAGENS DIGITAIS, 3o ed. São
Paulo: Pearson, 2010.
10
11

6. ANEXOS

6.1 CÓDIGO PRINCIPAL

clc;
clear;
close all;

%aquisição da imagem
entrada=double(imread('Lenna256.bmp'));%habilita valores negativos para as mascaras
colormap(gray(256));

subplot(2,3,1);%linha coluna posição


image(entrada);
axis equal;
axis('off');

%chamando a função mascara


[X,Y,XY,laplaciano]=mascara(entrada);

subplot(2,3,2);%linha coluna posição


imshow(X);
axis equal;
axis('off');

subplot(2,3,3);%linha coluna posição


imshow(Y);
axis equal;
axis('off');

subplot(2,3,4);%linha coluna posição


imshow(XY);
axis equal;
axis('off');

subplot(2,3,5);%linha coluna posição


imshow(laplaciano);
axis equal;
axis('off');

6.2 FUNÇÃO MÁSCARA

function [X,Y,XY, laplaciano]=mascara(entrada)

%informando os valores de Zs, criando o Gx e Gy


z1=1; z2=0; z3=-1;
z4=2; z5=0; z6=-2;
z7=1; z8=0; z9=-1;
12

Gx=[z1,z2,z3;z4,z5,z6;z7,z8,z9];
Gy=Gx';
Gxy=Gx+Gy;

%verifica as dimensões da entrada


tamanho=size(entrada);

%cria matriz de 0 que ira prencher a imagem, com o aumento necessario para passar a mascara
entradaConca=zeros(tamanho(1)+2,tamanho(2)+2);

%concatena a matriz de zero com a entrada


entradaConca((2):(tamanho(1)+1),(2):(tamanho(2)+1))=entrada;

for linha=0:(tamanho(1)-1)%roda as linhas


for coluna=0:(tamanho(2)-1)%roda as colunas
for Lmasc=1:3 %roda linhas da mascara
for Cmasc=1:3 %roda colunas da mascara

MascX(Lmasc,Cmasc)=entradaConca((linha+Lmasc),(coluna+Cmasc))*Gx(Lmasc,Cmasc);

MascY(Lmasc,Cmasc)=entradaConca((linha+Lmasc),(coluna+Cmasc))*Gy(Lmasc,Cmasc);

MascXY(Lmasc,Cmasc)=entradaConca((linha+Lmasc),(coluna+Cmasc))*Gxy(Lmasc,Cmasc);
end
end
somaX=sum(sum(MascX));
X((linha+1),(coluna+1))=somaX;
somaY=sum(sum(MascY));
Y((linha+1),(coluna+1))=somaY;
XY((linha+1),(coluna+1))=sum(sum(MascXY));
laplaciano((linha+1),(coluna+1))=sqrt(somaX^2+somaY^2);
end
end
X=uint8(X);
Y=uint8(Y);
XY=uint8(XY);
laplaciano=uint8(laplaciano);
endfunction

Você também pode gostar