Você está na página 1de 11

Processamento de Imagens

(Joaquim Teixeira de Assis)



5. Operaes em imagens no domnio espacial

As imagens aqui tratadas nesse tpico so imagens digitais em forma de
matrizes n x m em que cada ponto um nmero inteiro que representa uma
cor, e sobre os quais pode-se efetuar operaes lgicas (AND, OR, NOT) e/ou
aritmticas (+, -, x, /). Essas operaes podem ser efetuadas pixel a pixel ou
sobre uma vizinhana.
Uma operao pixel a pixel consiste em aplicar o operador sobre pixels
de mesma posio (n,m) de imagens diferentes (I1 ... IN). Essas operaes
podem ser realizadas sobre todos os pixels da imagem ou sobre parte deles.

I1(n,m) (op) I2(n,m) (op)...IN(n,m) = IR(n,m)

Nas operaes orientadas vizinhana so utilizadas mscaras (janelas).
O resultado modificar o valor atribudo ao pixel pelo valor de uma funo
aplicada aos seus vizinhos.

5.1 Operaes lgicas e aritmticas

As operaes aritmticas pixel a pixel so aquelas em que os valores
dos pixels podem ser somados, diminudos, multiplicados ou divididos,
produzindo uma imagem resultado.
Ex.


A adio de varias imagens semelhantes usada para obter uma mdia
e, desta forma, remover rudo. Quando se conhece a informao de fundo (ex.
rudo de fundo em imagens mdicas) a subtrao torna-se uma ferramenta
bastante til. O sombreamento provocado por efeito de no uniformidade de
iluminao pode ser removido com operaes de multiplicao / diviso.
Ao se executar operaes aritmticas sobre imagens deve-se ter cuidado
com valores fora da escala que podem ser obtidos. Quando se ultrapassa o
limite mximo chamamos de overflow (ex. valores maiores que 255 para
imagens de 8bits) e abaixo do limite mnimo de underflow (ex. valores abaixo
de 0 para imagens de 8bits). Nestes casos, as solues possveis so 1) o
truncamento nos limites mximos e mnimos e 2) normalizao dos valores
para esses novos limites.
Uma normalizao consiste em adequar os valores resultados a escala
permitida. Por exemplo, para 8bits temos valores possveis para cinza entre
0(preto) e 255(branco) e se aps a operao so obtidos novos limites f
max
e
f
min
, os valores f para cada pixel ser convertido em valores normalizados g
por:

) (
255
min
min max
f f
f f
g

=


De forma semelhante s operaes aritmticas as operaes lgicas
(OR, AND, XOR e NOT) so realizadas pixel a pixel sobre toda a imagem.
So utilizadas principalmente em imagens binrias usadas para comparao,
extrao de caractersticas e anlise de formas.
Ex.


Uma das caractersticas interessantes de se obter com operaes lgicas
o realce de bordas. Essa caracterstica pode ser usada em processos de
segmentao, registro e identificao de objetos em uma cena. A borda pode
ser associada a uma troca abrupta de cor em uma vizinhana de um pixel. Por
exemplo, para imagens binrias razovel definir borda em um determinado
pixel preto (0) como sendo a existncia de pelo menos um pixel vizinho
prximo de cor branca (1), isto , uma localizao (m,n) tal que i(m,n)=0 e
g(m,n)=1, onde:

| | | | ( , ) ( , ) ( 1, ) ( , ) ( , 1) g m n i m n XORi m n OR i m n XORi m n
A
=

A imagem resultado apresentar somente as bordas, linhas e pontos
isolados nessa imagem binria.

Nas operaes orientadas vizinhana as mscaras ou janelas (3 x 3, 5
x 5) so construdas de modo a modificar o valor de cada pixel por uma
funo dos valores dos pixels vizinhos. Por exemplo, uma mascar pode ser
construda para substituir o valor do pixel pela mdia dos seus vizinhos na
forma:

Valor do novo pixel p(i,j) = Mdia dos pixels dos vizinhos adjacentes
p'(i,j) = 1/9(p(i-1,j-1)+p(i-1,j)+p(i-1,j+1)+p(i,j-1)+
p(i,j)+p(i,j+1)+p(i+1,j-1)+p(i+1,j)+p(i+1,j+1))


A escolha apropriada da mscara possibilita uma variedade de
operaes teis como a reduo de rudo, deteco de bordas e etc.
A mscara percorre a imagem desde o seu canto superior esquerdo at
seu canto inferior direito. O valor do pixel central da mscara ser substitudo
pelo valor calculado pela operao. Essa operao chamada tambm de
convoluo.
Um tratamento especial deve ser dado aos pixels que esto nas bordas
da imagem. Como, em geral, as informaes importantes esto na parte mais
central da imagem, pode-se aplicar a mascar apenas nos pixels onde ela no
excede a borda ou supor continuidade (como se a imagem se repetisse em
todas as direes).
O deslocamento da janela sobre toda a imagem uma tarefa que exige
um grande esforo computacional. Por exemplo, quando se aplica uma janela
3 x 3 em uma imagem 512 x 512, isso requer 9 multiplicaes e oito adies
para cada pixel, totalizando 2.359.296 multiplicaes e 2.097.152 adies.

5.2 Operaes de convoluo com mscaras

So operaes realizadas a partir da aplicao de uma mscara W
kl
, onde
a imagem W tem dimenso k x l, para a deteco de caractersticas em uma
imagem. Essa imagem percorre toda ou parte da imagem com o objetivo de
realar caractersticas desejadas.

O tema deteco de bordas uma das aplicaes importantes da
convoluo com mscara. Pode-se definir bordas como a fronteira entre duas
regies, cujos nveis de cinza predominantes so razoavelmente diferentes.
Em geral, so utilizadas diferentes mscaras para a deteco de bordas nas
direes verticais e horizontais.
Existe na literatura uma srie de exemplos de mscaras que podem ser
utilizadas com essa finalidade. A seguir so apresentadas algumas dessas
mscaras 3 x 3.

Mscara de Sobel

Vertical Horizontal

1 0 1
2 0 2
1 0 1


1 2 1
0 0 0
1 2 1




Mscara de Roberts

Vertical Horizontal

0 0 1
0 1 0
0 0 0


1 0 0
0 1 0
0 0 0




Mscara de Prewitt

Vertical Horizontal

1 0 1
1 0 1
1 0 1


1 1 1
0 0 0
1 1 1




A deteco de pontos isolados e linhas pode ser vista com caso
particular da deteco de borda. Um bom exemplo de deteco de pontos
isolados por convoluo a mscara 3 x 3:

1 1 1
1 8 1
1 1 1




Para deteco de linhas, usando tambm a convoluo, temos que
destacar tambm a caracterstica direcional (vertical, horizontal e diagonal).
Exemplos desses tipos de mscara so:

Vertical Horizontal Diagonais

1 1 1
2 2 2
1 1 1



1 2 1
1 2 1
1 2 1




1 1 2
1 2 1
2 1 1






2 1 1
1 2 1
1 1 2





Fica claro que existem outros exemplos de janelas e a aplicao destas
produzem diferentes resultados que devem satisfazer a exigncia individual
para cada caso.

5.3 Suavizao de imagens

As janelas e operaes aritmticas podem ser utilizadas para suavizar
uma imagem. Uma dessas operaes o filtro de mdia, em que aplicada
uma janela do tipo:

1 1 1
1
1 1 1
9
1 1 1
(
(
(
(



para obter uma imagem em que cada pixel representar a mdia dos
seus vizinhos. Essa janela equivalente aplicao para cada pixel da
seguinte equao:

1 1
1 1
'( , ) ( , )
k l
k l
i m n i m k n l
= =
= =
= + +



Existem algumas variantes desse filtro. Uma delas com maior nmero
de pixels na janela (ex. 5 x 5), em que o termo central da janela nulo ou
tambm com pesos diferentes para uma determinada direo.
Outra forma de suavizar a imagem pela aplicao de um filtro de
mediana. Para tanto, depois de definido o nmero de termos da janela (que
deve ser em nmero mpar), todos os pixels devem ser ordenados e o pixel da
imagem ser substitudo pelo pixel central.
Ex. para uma janela 3 x 3 em que os pixels da imagem sejam

1 3 9
4 8 1
7 15 2
(
(
(
(


com a ordenao:

[ 1 1 2 3 4 7 8 9 15 ]

e ento, o pixel central, que tinha valor 8, passa a ter o valor 4.

Outro filtro que pode ser utilizado quando se tem vrias imagens, por
exemplo quando podemos fotografar a mesma cena vrias vezes, obter uma
imagem pela mdia dessas cenas. Isso, em geral, remove rudos provocados
pelo sistema de aquisio. Ento, a imagem resultado ser dada por:

.
1
1
'( , ) ( , )
.
n cenas
k
I m n I m n
n cenas
=
=




5.4 Realce de imagens

Os filtros passa-alta se baseiam na forma de resposta impulsiva e,
portanto, devem ter uma forma de mscara onde o termo central positivo e
os termos perifricos negativos. Tomemos como exemplo a seguinte mscara
3 x 3:

1 1 1
1 8 1
1 1 1





Pode-se notar que a soma dos componentes zero, quando aplicada em
uma regio homognea praticamente ter resposta zero, e quando aplicada a
uma regio de borda, ter seu valor realado.
Um resultado que pode ser obtido para o filtro passa-alta pela sua
equivalncia com:

Passa-alta = Original Passa-baixa

Isso obtido aplicando-se um filtro de mdia na imagem e depois
subtraindo da imagem original. No pode ser esquecido que pode haver
estouro de escala de cinza (overflow ou underflow).
A diferenciao tambm utilizada na deteco de bordas e linhas. As
duas formas utilizadas so:

|
|
.
|

\
|
c
c
+
|
|
.
|

\
|
c
c
= A
|
|
.
|

\
|
c
c
+ |
.
|

\
|
c
c
= V = V
2
2
2
2
2 / 1
2
2
) , (
] [ ) ( ) , (
y
f
x
f
y x f Laplaciano
y
f
x
f
f mag y x f Gradiente


Essas so as bases para definir vrios tipos de mscaras de
diferenciao. Por exemplo, supondo uma mscara W 3 x 3 podemos definir
um gradiente aproximado por:

) 7 4 1 ( ) 9 6 3 ( ) 3 2 1 ( ) 9 8 7 ( w w w w w w w w w w w w f + + + + + + + + ~ V

Onde a primeira parte representa a diferenciao na direo x e a
segunda parte na direo y. Esse o exemplo tpico das mscaras de Prewitt.

O Laplaciano de uma funo bidimensional uma derivada de segunda
ordem que pode ser implementada na forma digital de vrias formas. Para uma
janela 3 x 3, a forma mais freqente na prtica :

) 8 6 4 2 ( 5 4 w w w w w f + + + = A

que tem a mscara equivalente:

0 1 0
1 4 1
0 1 0





Essas mscaras de diferenciao iro produzir realce de bordas e formas
e seus usos dependero da aplicao particular para cada caso.


5.5 Transformaes geomtricas

Algumas transformaes geomtricas so teis para modificar a
imagem de forma a facilitar o reconhecimento e a interpretao de uma cena.
Algumas dessas transformaes podem ser representadas apenas por
transformaes de suas coordenadas, como a translao, rotao, troca de
escala (scaling), espelhamento (flip) e degradao espacial (warping); outras
transformaes podem ser obtidas diretamente da imagem fonte aplicando-se
tcnicas aritmticas simples, como cropping, cutting e paste.
Nas operaes sobre coordenadas para uma funo 2D, so aplicadas
transformaes na forma

) , ( ) , (
* *
y x A y x =

onde A a matriz operadora que produz a transformao.

Esto, podemos escrever essa nova representao pela redefinio
como:

(
(
(

=
(

1
*
*
y
x
A
y
x


onde os A podem ser escritos na forma:

Translao

0
0
1 0
0 1
y
x
A =
o que produzir a translao do tipo:

0
*
0
*
y y y
x x x
+ =
+ =


Rotao

0 cos sin
0 sin cos
u u
u u

= A

o que produzir uma rotao da imagem de um ngulo na forma:

u u
u u
cos sin
sin cos
*
*
y x y
y x x
+ =
+ =

Scaling

uma forma de ampliao/reduo. Na operao de reduo haver
perda de informao e na de ampliao deve-se ter preocupao com os
pontos que perdem correspondncia, i.e., supondo uma ampliao para ambos
os eixos de 2, por exemplo, na primeira linha o quarto pixel da imagem
passar ao oitavo na imagem ampliada, enquanto o quinto passar ao dcimo;
isso provoca uma lacuna no nono pixel. Uma forma de resolver isso repetir o
valor de um desses pixels (oitavo ou dcimo) ou ento pela mdia do dois.
A matriz de scalling pode ser escrita como:

0 0
0 0
y
x
S
S
A =

Podem ser utilizados os mesmos valores para o scaling nos dois eixos
ou valores diferentes. Quando se quiser grandes ampliaes, recomendvel
dividir essas ampliaes por partes. Por exemplo, numa ampliao de 8, pode-
se fazer 3 vezes uma ampliao de 2.




Espelhamento

Essa uma operao que pode ser representada por uma
translao do mesmo tamanho da matriz (por exemplo no eixo x) e depois uma
rotao no outro eixo (y), ou vice e versa.
Para a translao em x, fazemos para uma matriz de (m,n), a matriz ser:

0 1 0
1 0 1 +
=
m
A
t


E a rotao de 180
0
sobre o eixo y dada por:

0 1 0
0 0 1
=
r
A

Ou ento a combinao dos dois efeitos:

0 1 0
1 0 1 +
=
m
A

Warping

O warping uma transformao geomtrica distoro que em
geral produzida na imagem pelo sistema de aquisio (ex. figuras abaixo).



Para corrigir esse efeito de distoro pode-se utilizar os pontos de
vrtices e bordas e modelar a correo a partir de equaes bilineares tal que
um ponto (x,y) na imagem sem distoro corresponder a um ponto ( y x , ) na
imagem distorcida.

1 2 3 4
5 6 7 8
x c x c y c xy c
y c x c y c xy c
= + + +
= + + +


Esses coeficientes constituem um modelo para transformar todos os
pixels numa regio quadriltera caracterizada pelos vrtices usados para os
obter.
O procedimento usado para corrigir a imagem pode ser simplificado
utilizando os pares (0,0), (m-1,0), (0,n-1) e (m-1,n-1). Outros pixels
conhecidos podem ser utilizados at que todos os coeficientes sejam
determinados.

Cropping, Cut e Pasting

So operaes que permitem ajustar o tamanho da imagem a tela de
interesse (cropping), recortar parte de uma imagem (cut) e colocar uma parte
de imagem que foi copiada (por cut) em uma outra regio da mesma imagem
ou at de uma imagem diferente (pasting).

Você também pode gostar