Você está na página 1de 84

Notas de Aula da Disciplina

Introduo ao
Processamento Digital
de Imagens
Leonardo Vidal Batista
2005

Contedo

1.1
1.2
1.3
1.4
1.5
2.1
2.2
2.3
2.4
3.1
3.2
3.3
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
5.1
5.2
5.3
6.1
6.2
6.3
6.4
6.5
6.6
7.1
7.2
7.3
7.4

Captulo 1 Introduo ..................................................................................


Processamento de Imagens e reas Correlatas ....................................................................4
A Faixa Visvel do Espectro Eletromagntico ...................................................................13
A Estrutura do Olho Humano.............................................................................................14
Sistemas de Cores...............................................................................................................16
Outros sistemas de Cores ...................................................................................................18
Captulo 2 Um Modelo de Imagem Digital...................................................................
Imagens Monocromticas...................................................................................................21
Amostragem e Quantizao................................................................................................23
Imagens Coloridas ..............................................................................................................27
Operaes envolvendo imagens .........................................................................................28
Captulo 3 Dispositivos Grficos ..........................................................................
Impressoras.........................................................................................................................31
Monitores de Vdeo e Aparelhos de TV.............................................................................31
Memria de Vdeo..............................................................................................................33
Captulo 4 Filtros Espaciais ..............................................................................
Filtros Lineares e Invariantes ao deslocamento...................Erro! Indicador no definido.
Convoluo...........................................................................................................................8
Operaes Pontuais e Locais ..............................................................................................36
Negativo .............................................................................................................................38
Controle de Contraste.........................................................................................................41
Equalizao e Expanso de Histograma.............................................................................42
Filtros de Suavizao..........................................................................................................48
Filtros de Aguamento .......................................................................................................48
Operaes Separveis.........................................................................................................52
Captulo 5 Operaes Algbricas ..........................................................................
Dissolve Cruzado ...............................................................................................................54
Deteco de Movimento.....................................................................................................55
Reduo de Rudo por Mdia de Imagens..........................................................................56
Captulo 6 Operaes Topolgicas .........................................................................
Rotao...............................................................................................................................59
Expanso e Contrao ........................................................................................................59
Pinch na Vertical ................................................................................................................61
Zoom ..................................................................................................................................64
Warping Baseado em Campos ...........................................................................................66
Morphing Baseado em Campos .........................................................................................69
Captulo 7 Transformadas................................................................................
Transformada Cosseno Discreta.........................................................................................73
Transformada de Fourier Discreta de Funes de Uma Varivel.......................................74
Transformada de Fourier Discreta de Funes de Duas Variveis.....................................75
Filtragem no Domnio da Freqncia.................................................................................80
2

Captulo 1
Introduo

A utilizao de imagens digitais tem experimentado um crescimento explosivo nas ltimas dcadas.
quase impossvel criar uma lista exaustiva das aplicaes modernas que envolvem imagens
digitais, mas pode-se citar, a ttulo de ilustrao, algumas reas de especial relevncia:

Sistemas de televiso digital;


Cmeras fotogrficas digitais e scanners;
DVDs;
Sistemas de teleconferncia;
Transmisses via fax;
Monitoramento de regies da superfcie terrestre e previso climtica auxiliada por imagens de
satlites;
Imagens e vdeos digitais na Internet;
Tcnicas de diagnstico mdico por imagens, tais como ultrassonografia, angiografia,
tomografia computadorizada e ressonncia magntica;
Realce e restaurao de imagens por computador;
Controle de acesso por identificao biomtrica, utilizando, por exemplo, reconhecimento de
faces, ris ou impresses digitais;
Videogames;
Realidade virtual;
Simuladores para treinamento ou entretenimento;
Robtica;
Efeitos especiais em filmes
Editorao eletrnica
Impressoras
Controle de qualidade
Instrumentao, metrologia e controle
3

Cincias Forenses
Aplicaes Militares

O processamento digital de imagens a rea do conhecimento que trata da modelagem matemtica,


anlise, projeto e implementao em software e em hardware de sistemas digitais voltados ao
tratamento de informao pictrica com o propsito de torn-la mais adequada interpretao por
seres humanos ou mquinas ou para obter maior eficincia de armazenamento e transmisso. As
tcnicas de processamento digital de imagens so altamente multidisciplinares, envolvendo diversos
aspectos de tica, eletrnica, matemtica, fotografia e computao.

1.1

PROCESSAMENTO DE IMAGENS E REAS CORRELATAS

Muitos itens da lista anterior pertencem tambm ao domnio de dois campos intimamente
relacionados com o de processamento digital de imagens: Computao Grfica e Viso
Computacional. Para definir mais precisamente o escopo deste texto, vejamos as diferenas mais
relevantes entre estas reas.
Na Computao Grfica os dados de entrada so processados e utilizados para gerar imagens
como produto final. Se os dados de entrada representam as coordenadas espaciais de objetos
constituintes de um cenrio, um sistema de computao grfica poder gerar uma imagem que
permita visualizar o cenrio descrito matematicamente. As aplicaes da computao grfica
incluem programas de projeto auxiliado por computador (computer aided design - CAD), muito
populares em engenharia; realidade virtual; visualizao cientfica; efeitos especiais em filmes;
interao humano-computador; etc.
A Viso Computacional percorre, de certa forma, um caminho inverso ao da computao
grfica. Agora, imagens de entrada so analisadas com vistas obteno de dados contendo
informaes geomtricas ou fsicas sobre o cenrio. As aplicaes incluem: robtica; sistemas
automatizados de controle de acesso por imagens; reconhecimento de impresses digitais por
computador; diagnstico automatizado de enfermidades; etc.
No Processamento Digital de Imagens (PDI), importante subdiviso da rea de
Processamento Digital de Sinais e objetivo deste curso, imagens de entrada so processadas,
gerando imagens como produto final. O PDI pode incluir etapas de viso computacional e de
computao grfica. Desde que a entrada e a sada do sistema envolvam imagens, o trabalho global
fundamentalmente de PDI. O PDI altamente multidisciplinar, envolvendo diversos aspectos e
conceitos de tica, eletrnica, matemtica, fotografia e computao.
O diagrama apresentado na Figura 1.1 ilustra as relaes entre as reas que constituem os
fundamentos das tcnicas computacionais relacionadas a imagens.

Dados
Viso
Computacional

Computao
Grfica
Imagens

Processamento
Digital de Imagens
(sinais 2D)

Processamento
Digital de Sinais
Figura 1.1 Processamento digital de imagens e reas correlatas
Muitas vezes essas trs reas atuam de modo cooperativo e indissocivel. Uma imagem de satlite
de parte da Amaznia pode ser inicialmente segmentada, produzindo-se uma nova imagem com
regies claramente discernveis. As diferentes regies encontradas no processo de segmentao
podem ser identificadas por cores bem distintas. Esta uma operao tpica de PDI. Quando
informaes geomtricas, estatsticas, de textura, ou quaisquer outras so extradas e utilizadas para
rotular as diversas regies como rios, florestas, queimadas, zonas urbanas, plantaes e pastos, por
exemplo, tem-se um procedimento de viso computacional, com as imagens sendo analisadas e
gerando dados descritivos das regies. As informaes de descrio das regies podem finalmente
ser utilizados por um programa de computao grfica que gerar uma imagem mais agradvel ou
til apreciao humana. Assim, por exemplo, as regies de florestas podem ser representadas na
imagem final como reas verdes com textura semelhante das copas das rvores e as reas urbanas
por representaes estilizadas de agrupamentos de prdios.
Perceba-se que as aes acima descritas, tomadas em conjunto, descrevem essencialmente
uma aplicao de PDI, pois o sistema como um todo mapeia imagens em imagens.
V-se, portanto, que a viso computacional atua no escopo da anlise de imagens, a
computao grfica na sntese de imagens, e o PDI pode envolver ambas as operaes. Alm de
constituir um campo autnomo de pesquisa e aplicao, o PDI comumente encontrado nas etapas
de gerao da imagem e de ps-processamento em computao grfica e na fase de prprocessamento em viso computacional.

1.2

SISTEMAS NO TEMPO DISCRETO

Entende-se por sinal qualquer funo de uma ou mais variveis que conduz informao a respeito
de um fenmeno de interesse. Como veremos no Captulo 2, uma imagem simplesmente um sinal
bidimensional, ou seja, uma funo de duas variveis, que pode ser tratada em muitas situaes
como um conjunto de sinais unidimensionais. Para conservar a simplicidade de representao,
conveniente introduzir muitos dos conceitos fundamentais de processamento de imagens utilizandose sinais unidimensionais. A transposio dos conceitos para o caso bidimensional quase sempre
imediata.
5

1.2.1

Amostragem e Quantizao

Um sinal analgico ou contnuo pode ser expresso matematicamente como uma funo contnua de
uma varivel contnua. Utilizaremos a notao usual de funes matemticas para representar sinais
contnuos. Por exemplo, x(t) um sinal contnuo de uma varivel contnua t.
Para ser utilizado em um computador, um sinal contnuo deve ser digitalizado. O processo de
digitalizao envolve discretizao do domnio e do contradomnio do sinal. A discretizao do
domnio denominada amostragem, e a discretizao do contradomnio denominada
quantizao.
A Figura 1.2 ilustra o processo mais comum de digitalizao de um sinal unidimensional. Neste
processo, efetua-se uma amostragem uniforme, que consiste em colher amostras do sinal a
intervalos regulares. O espaamento entre as amostras, Ta, denominado perodo de amostragem,
geralmente mas no necessariamente medido em unidades de espao ou tempo. define-se a
freqncia de amostragem como sendo fa = 1/Ta (amostras/unidade de espao ou de tempo, por
exemplo). Os valores das amostras colhidas so ento aproximados para valores de um conjunto
finito enumervel Q = {-nq,..., -2q, -q, 0, q, 2q,..., mq}, com m e n inteiros, em um processo
denominado quantizao uniforme. H outras formas de quantizao, mas a quantizao uniforme
a mais utilizada na prtica. Os valores iq, i = -n,..., -2, -1, 0, 1, 2,...,m, so os nveis de quantizao,
e q define o tamanho do passo de quantizao. A qualidade do sinal digital resultante definida
principalmente pelos parmetros Ta e q. Observe-se na Figura 1.2 a ocorrncia de erros de
quantizao causados pelas aproximao dos valores originais para valores presentes em Q.
Sinal analgico

Amplitude

Sinal digital

...
2q
q
0
-q
-2q

...
Erros
de
quantizao

Ta

2Ta

3Ta

...

Tempo, espao etc.


Figura 1.2. Digitalizao de um sinal unidimensional
O processo de digitalizao de um sinal unidimensional gera uma seqncia de valores. Se
xa(t) um sinal analgico, representaremos por x[n] o n-simo valor do sinal digital resultante do
processo de amostragem e quantizao de xa(t):
x[n] = Quant(xa(nTa)), n = 0, 1, 2, ...

onde Quant(.) representa a operao de quantizao de uma amostra. No restante deste captulo,
utilizaremos n para representar uma varivel discreta.
Nem todos os sinais digitais advm da digitalizao de sinais analgicos. Alguns sinais so digitais
por natureza, e outros so matematicamente definidos na forma discreta. Por exemplo, o nmero de
negcios fechados em cada prego da BOVESPA , inerentemente, um sinal digital. Alguns sinais
matemticos de especial interesse so:
Impulso unitrio ou delta de Kronecker:
1, n = 0
[n ] =
0, n 0
Degrau unitrio:
1, n 0
u[n ] =
0, n < 0
Sinal senoidal:
s[n ] = sen( 2fn )
Observe-se que esta ltima funo apresenta domnio discreto, mas s[n] no quantizado. Este tipo
de sinal discreto, mas no digital. Sinais discretos podem ser utilizados em desenvolvimentos
tericos e estabelecimento de conceitos; contudo, o processamento por computador exige a
digitalizao.

1.3

SISTEMAS DISCRETOS

Um sistema discreto mapeia um sinal discreto de entrada, x[n], em um sinal discreto de sada, y[n],
atravs da aplicao de um operador T sobre x[n]:
y[n] = T{x[n]}
Um sistema discreto, representado pelo operador T, pode ser classificado de vrias formas, algumas
das quais descritas a seguir.
1.3.1

Sistemas lineares.

Um sistema linear se e somente se


T {ax1[n] + bx2[n]} = aT {x1[n]} + bT{[x2[n]}
para quaisquer constantes a e b e quaisquer sinais x1[n] e x2[n].

1.3.2

Sistemas invariantes ao deslocamento

Um sistema invariante ao deslocamento se e somente se


T{x1[n-a]} = y[n-a],
com y[n] = T{x[n]}, para qualquer constante a e qualquer sinal x[n].
Quando n representa coordenadas espaciais ou temporais, estes sistemas so denominados,
respectivamente, invariantes no espao ou invariantes no tempo.
1.3.3

Sistemas Causais

Um sistema causal se e somente se sua sada y[a] no depende de entradas x[n] com n > a.

1.4

CONVOLUO

Sistemas lineares invariantes ao deslocamento podem ser matematicamente descritos por uma
operao conhecida como convoluo. Para introduzir este conceito fundamental em processamento
de sinais, consideremos inicialmente o caso contnuo unidimensional. A convoluo entre duas
funes s(t) e h(t), representada por s(t ) * h(t ) , gera uma funo g(t) dada por

s( )h(t )d

g (t ) = s ( t ) * h (t ) =

A operao de convoluo no de visualizao trivial. Um exemplo grfico pode ajudar a


esclarecer o mecanismo. Para simplificar, tomemos duas funes, esboadas na Figura 1.3, com as
seguintes caractersticas:
s(t) = 0 para t [t0, t1]
h(t) = 0 para t [t2, t3]
s(t)

(0,0)

!!t0

!!t1

h(t)

!(0,0)

t3
!!"#
!"
Figura 1.3. Dois sinais unidimensionais: (a) s(t) e (b) h(t)
De acordo com a equao de convoluo, para obter o valor de g(t) para um dado t, deve-se efetuar
a integrao do produto de duas funes da varivel , s( ) e h (t ) . A funo h (t ) obtida
efetuando-se o rebatimento de h( ) em relao origem e um deslocamento da funo resultante
por t, conforme ilustra a Figura 1.4.
h( )

0 !t2

t3

h ( )

-t3

-t2 0

h (t )

-t3+t

-t2+t

Figura 1.4. Rebatimento e deslocamento: (a) h( ) ; (b) h ( ) ; (c) h (t )


9

O produto s( ) h(t ) e, conseqentemente, a convoluo g (t ) = s (t ) * h (t ) , ser nulo para


qualquer valor de t tal que no haja interseo entre os intervalos em que s( ) e h (t ) assumem
valores no nulos, ou seja, [t0, t1] e [-t3 + t, -t2+ t]. Mais especificamente, g(t) = 0 para todo t tal que
-t3+ t > t1 t > t1 + t3 ou
-t2+ t < t0 t < t0 + t2
Em resumo, g(t) = 0 para t [t0 + t2 , t1 + t3 ] .
A convoluo discreta uma extenso imediata do conceito de convoluo contnua. Se s[n] e h[n]
so seqncias discretas definidas para todo inteiro n, a convoluo linear g[n] = s[n]*h[n] dada
por:

g[n ] = s[n ] * h[n ] =

s[ ]h[n ]

Nas situaes prticas mais comuns, as seqncias de entrada so finitas. Se s[n] e h[n] representam
as seqncias s[0], s[1],..., s[N0-1] e h[0], h[1], ..., h[N1-1], respectivamente, os valores de s[n] para
n [0, N0-1] e de h[n] para n [0, N1-1] no esto definidos e, portanto, a equao de convoluo
linear no se aplica diretamente. Neste caso, s[n] e h[n] devem ser estendidos para todo inteiro x
antes da convoluo. Uma possibilidade considerar s[n] = 0 para n [0, N0-1], e h[n] = 0 para n
[0, N1-1]. Por um raciocnio anlogo quele que levou definio do intervalo no qual a
convoluo contnua podia assumir valores no nulos, pode-se mostrar facilmente que a convoluo
discreta g[n] com extenso por zeros pode apresentar valores no nulos apenas para n [0, N0 + N1
- 1]. Para um dado valor de n neste intervalo, o produto s[ ] h[n ] poder assumir valores no
nulos apenas para [0, n]. A expresso de convoluo pode ento ser particularizada:

g[n ] = s[n ] * h[n ] =

N 1

s[ ]h[n ]

=0

com N = N0 + N1 1. A Figura 1.5 mostra a convoluo de duas seqncias s[n] e h[n], com 7 e 6
elementos, respectivamente, resultando em uma seqncia g[n] com 7+6-1=12 elementos.
'

s[n]

&
#

3
&
(a)

'

10

'

h[n]

&
#

$
($

(
(b)

' 7
(c)

g[n] = s[n]* h[n]

#$
%$

%$ %%

Figura 1.5 Convoluo. (a) s = [1, 2, 3, 4, 5, 2, 1]; (b) h = [3, 2, 1, 0, 1, 2];


(c) g = s*h = [3, 8, 14, 20, 27, 24, 19, 14, 14, 12, 5, 2]
Um conceito fundamental em processamento digital de sinais o de convoluo circular. A
convoluo circular fornece uma ponte entre o domnio original e o domnio da freqncia,
apresentando grande interesse terico e prtico, conforme ser visto no Captulo 7. Para a definio
da convoluo circular, inicialmente as seqncias s[n] e h[n], que contm N0 e N1 elementos,
respectivamente, so expandidas para N elementos, com N N0 e N N1, empregando-se
extenso por zeros, gerando as seqncias se[n] e he[n]:
s[n ], 0 n < N 0
s e [n ] =
0, N 0 n < N
h[n ], 0 n < N 1
he [n ] =
0, N 1 n < N
Efetua-se ento uma extenso peridica das seqncias se[n] e he[n], considerando-se que se[n]
constitui um perodo de uma seqncia peridica sp[n] e que he[n] constitui um perodo de uma
seqncia peridica hp[n]. Define-se a convoluo circular gp = s[n] h[n] como

g p = s[n ] h[n ] =

N 1

s p [ ]h p [n ]

=0

Considere as seqncias finitas s1[0], s1[1],..., s1[N0-1] e h1[0], h1[1], ..., h1[N1-1], e as seguintes
seqncias s2[n] e h2[n], definidas para todo inteiro n:
11

s [n ], 0 n < N 0
s 2 [n ] = 1
0, caso contrrio
h [n ], 0 n < N 1
h2 [n ] = 1
0, caso contrrio
Fazendo-se N = N0 + N1 1, pode-se mostrar que s1[n] h1[n] = s2[n]*h2[n], 0 n < N . Assim
sendo, pode-se calcular a convoluo circular por intermdio de uma convoluo linear.
Os conceitos acima apresentados podem ser diretamente estendidos para matrizes. A convoluo
linear g[i, j] = f[i, j] * h[i, j], com f e g definidas para todo i e para todo j inteiros, dada por

f [ , ]h[i , j ]

g[i, j ] = f [i, j ] * h[i, j ] =

= =

Se f[i, j] est definida apenas para 0 i < R0 e 0 j < C 0 , e h[i, j] est definida apenas para
0 i < R1 e 0 j < C1 , pode-se considerar que f[i, j] so nulas para i e j fora destes intervalos, e
calcular a convoluo como:

g[i, j ] = f [i, j ] * h[i, j ] =

R 1 C 1

f [ , ]h[i , j ]

=0 =0

com R = R0 + R1 1 e C = C0 + C1 1.
Para o clculo da convoluo circular, as matrizes f[i, j] ( 0 i < R0 e 0 j < C 0 ) e h[i, j] ( 0 i < R1
e 0 j < C1 ), so expandidas para R x C elementos, com R R0 e R R1, C C0 e C C1,
empregando-se extenso por zeros, gerando as matrizes fe[i, j] e he[i, j]:
f [i, j ], 0 i < R0 e 0 j < C 0
f e [i, j ] =
0, R0 i < R ou C 0 j < C
h[i , j ], 0 i < R1 e 0 j < C1
h e [i, j ] =
0, R1 i < R ou C1 j < C
Efetua-se ento uma extenso peridica das matrizes fe[i, j] e he[i, j], considerando-se que fe[i, j]
constitui um perodo de uma funo bidimensional peridica fp[i, j] e que he[n] constitui um perodo
de uma funo bidimensional peridica hp[i, j]. Define-se ento a convoluo circular gp [i, j] =
f[i, j] h[i, j] como

g p [i, j ] = f [i, j ] h[i, j ] =

R 1 C 1

f p [ , ]h p [i , j ]

=0 = 0

Como no caso unidimensional, pode-se calcular a convoluo circular por intermdio de uma
convoluo linear limitada a 0 i < R e 0 j < C , desde que R = R0 + R1 1 e C = C0 + C1 1.

12

Operaes de filtragem lineares e invariantes ao deslocamento correspondem a uma convoluo


linear de uma imagem de entrada f[i, j] com uma matriz h[i, j] que define o filtro. Esta matriz recebe
diversas denominaes, tais como mscara convolucional, ncleo do filtro e resposta ao impulso.

1.5

A FAIXA VISVEL DO ESPECTRO ELETROMAGNTICO

A luz uma radiao eletromagntica e, assim sendo, apresenta um comportamento ondulatrio


com freqncia e comprimento de onda caractersticos. A faixa visvel do espectro eletromagntico
se estende aproximadamente de 380 nm a 780 nm. A Figura 1.6 apresenta a denominao usual
dada a diversas regies dos espectro eletromagntico.

Figura 1.6 O espectro eletromagntico. Fonte: Integrao de Dados Estatsticos na


Classificao de Imagens / Fernando Rocha, 2002
Nenhuma radiao eletromagntica com comprimento de onda fora da faixa visvel percebida pelo
olho humano. Dentro da faixa visvel, o olho humano percebe comprimentos de onda diferentes
como cores diferentes. Uma fonte que emite radiao com um comprimento de onda nico
chamada de monocromtica, e a cor da radiao denominada cor espectral pura se a radiao
estiver na faixa visvel.
A Figura 1.7 e a Tabela 1.1 apresentam a faixa visvel e as denominaes usuais das cores
associadas a cada regio do espectro.

13

Figura 1.7 O espectro eletromagntico visvel. Obs: nm = nanmetro = 10-9 m


Tabela 1.1 Denominao usual das cores
Denominao Usual da Cor
Violeta
Azul
Verde
Amarelo
Laranja
Vermelho

1.6

Faixa do Espectro (nm)


380 440
440 490
490 565
565 590
590 630
630 780

A ESTRUTURA DO OLHO HUMANO

O olho humano aproximadamente esfrico, com dimetro mdio em torno de dois centmetros.
Algumas estruturas externas e internas do olho humano podem ser observadas na Figura 1.8 e na
Figura 1.9. Os raios luminosos provenientes dos objetos externos penetram no olho atravs de uma
abertura frontal na ris, a pupila, e de uma lente denominada cristalino, atingindo a retina, que
constitui a camada interna posterior do globo ocular. Quando o olho est apropriadamente
focalizado, forma-se uma imagem ntida invertida do cenrio externo sobre a retina.
ris

pupila

esclera
Figura 1.8 Aspecto externo do olho humano

14

Figura 1.9 A estrutura interna do olho humano. Fonte: Digital Image Processing: PIKS inside
/ W. Prat, - 3rd Ed., 2001
Sobre a retina distribuem-se dois tipos de elementos fotossensveis, os cones e os bastonetes, cuja
funo converter energia luminosa em impulsos eltricos que so transmitidos at o crebro para
serem interpretados.
H de 75 a 150 milhes de bastonetes em cada olho. Os bastonetes so relativamente bem
distribudos sobre toda a retina, no so sensveis s cores, e no permitem boa resoluo de
detalhes, principalmente por operarem em grupo, sendo cada grupo conectado a um terminal
nervoso. Os bastonetes proporcionam uma viso geral e, por serem sensveis a baixos nveis de
iluminao, proporcionam a chamada viso de baixa luminosidade. Objetos coloridos luz do dia
parecem acinzentados sob o luar porque apenas os bastonetes so estimulados.
H de seis a sete milhes de cones em cada olho, localizados principalmente na regio
central da retina denominada fvea. Os cones so sensveis s cores, e permitem alta resoluo de
detalhes, principalmente porque cada um deles est conectado ao seu prprio terminal nervoso.
Quando olhamos para um objeto, o olho posicionado pelos msculos que o controlam de forma
que a imagem do objeto recaia sobre a fvea. Por atuarem mais eficientemente sob boas condies
de iluminao, os cones proporcionam a chamada viso de alta luminosidade.
O olho humano possui trs tipos de cones, um mais sensvel faixa do espectro
correspondente ao violeta e ao azul; outro ao verde; e outro ao amarelo, ao laranja e ao vermelho.
Diz-se que o olho apresenta cones azuis, verdes e vermelhos. Devido a esta caracterstica do
olho humano, radiaes luminosas de cores diversas podem ser obtidas por combinaes destas trs
cores primrias, vermelho, verde e azul.
A Figura 1.10 apresenta a sensibilidade relativa dos cones s radiaes eletromagnticas.

15

Figura 1.10 Sensibilidade relativa dos trs tipos de cones presentes na retina. Fonte: The
image processing handbook / John C. Russ. - 3rd Ed., 1998
O olho humano capaz de perceber muitas outras cores alm das cores espectrais puras. A cor
prpura, por exemplo, uma combinao de vermelho e azul. No entanto, qualquer radiao
monocromtica capaz de ativar simultaneamente os cones azuis e vermelhos ativar os cones verdes
com maior intensidade, de forma que a sensao predominante ser de cor verde.

1.7

SISTEMAS DE CORES

A cor de um objeto que emite radiao na faixa visvel definida pela soma das cores espectrais
emitidas. O processo de formao de cores, neste caso, aditivo. Dado o mecanismo de formao
de cores do olho humano, o processo aditivo pode ser entendido como uma combinao de
radiaes monocromticas nas faixas verde, vermelho e azul, em propores variveis. Por este
motivo, estas cores so denominadas cores primrias da luz. Este processo de gerao de cores
caracteriza um sistema RGB (Red, Green, e Blue). A Comisso Internacional de Iluminao (CIE)
estabeleceu os seguintes valores para os comprimentos de onda das primrias da luz:
Azul: 435,8 nm
Verde: 546,1 nm
Vermelho: 700 nm
As cores primrias combinadas duas a duas em igual intensidade produzem as cores secundrias da
luz, magenta, cano e amarelo:
Magenta = Vermelho + Azul
Cano = Azul + Verde
Amarelo = Verde + Vermelho
V-se, ento, que o processo de formao de cores para objetos que emitem radiao aditivo.
Define-se como cor oposta a uma dada cor secundria como a cor primria que no entra em sua
composio. Assim, o verde oposto ao magenta, o vermelho oposto ao cano, e o azul oposto
ao amarelo.
16

A cor branca gerada pela combinao balanceada de radiaes nas faixas do vermelho, do
verde e do azul. Pode-se dizer tambm que a cor branca uma combinao de qualquer cor
secundria com sua oposta.
A cor de um objeto que no emite radiao prpria, por outro lado, definida pelos seus
pigmentos, que absorvem radiaes em determinadas faixas de comprimento de onda e refletem
outras. Novamente, devido natureza do olho humano, o processo de formao de cores pode ser
entendido como a absoro ou reflexo, em propores variveis, das componentes verde, vermelho
e azul da radiao incidente. Um pigmento cano, por exemplo, reflete as componentes azul e verde
da luz incidente e absorve ou subtrai desta a componente vermelha. Em outros termos, o cano pode
ser visto como o resultado da subtrao do vermelho da cor branca. O processo de formao de
cores pigmentares , portanto, subtrativo. Tem-se agora:
Magenta = Branco Verde = Vermelho + Azul
Cano = Branco Vermelho = Azul + Verde
Amarelo = Branco Azul = Verde + Vermelho
Amarelo + Magenta + Cano = Branco Azul Vermelho Verde = Preto
As cores primrias dos pigmentos so definidas como aquelas que absorvem uma cor primria da
luz e refletem as outras duas. Assim, as cores primrias dos pigmentos so as secundrias da luz, ou
seja, magenta, cano, e amarelo.
As cores pigmentares primrias combinadas duas a duas produzem as cores secundrias dos
pigmentos. Combinando-se magenta, que no reflete a componente verde da luz incidente, com
cano, que no reflete a componente vermelha, tem-se que cor resultante azul, a nica componente
refletida tanto pelo pigmento magenta quanto pelo pigmento cano. Por um raciocnio anlogo,
magenta e amarelo produzem vermelho, enquanto que cano e amarelo produzem verde. V-se ento
que as cores secundrias dos pigmentos so as primrias da luz, e as secundrias. Finalmente, a
mistura balanceada de pigmentos magenta, cano e amarelo absorve todas as componentes da luz
incidente, produzindo, portanto, preto.
Os processos aditivo e subtrativo de formao de cores so ilustrados na Figura 1.11.

Figura 1.11. Processos de formao de cores: (A) aditivo e (B) subtrativo


Um monitor de vdeo forma imagens por emisso de radiao luminosa, em um processo
envolvendo combinao de verde, vermelho e azul. Na prtica, necessrio limitar a intensidade
mxima admissvel para as componentes de cor, de forma que um subconjunto do sistema RGB foi
adotado. Qualquer cor neste sistema pode ser representada por suas componentes de vermelho,
verde e azul. Assim, uma cor no sistema RGB um vetor no espao tridimensional apresentado na
Figura 1.12, e pode ser representada por suas coordenadas (r, g, b).

17

R
B
Figura 1.12 O espao de cores RGB
No espao RGB, a reta definida pelo conjunto de pontos (i, i, i) chamada de reta acromtica.
Pontos sobre a reta acromtica representam tonalidades de cinza, ou nveis de cinza, variando
continuamente do preto ao branco, medida que percorremos a reta a partir da origem. O ponto (0,
0, 0) representa o preto (ausncia de luz). Um ponto (M, M, M), onde M a intensidade mxima que
pode assumir qualquer componente de cor, representa o branco.
As impressoras coloridas empregam o sistema CMY (Cano, Magenta e Amarelo).
Raramente os pigmentos adotados e as propores nas misturas so perfeitos, de forma que a
combinao balanceada das trs cores pode resultar em algo prximo ao marrom, quando o desejado
seria o preto. Por este motivo, muitas vezes acrescenta-se o preto como 4a cor, e o sistema dito
CMYK, com o K final representado a cor preta (blacK).

1.8

OUTROS SISTEMAS DE CORES

O sistema YIQ utilizado em transmisso de TV em cores pelo padro NTSC (National Television
System Committee), mantendo compatibilidade com os padres de TV monocromtica (P & B). No
sistema YIQ, o Y representa a componente de luminncia (intensidade percebida, ou brilho),
enquanto que o I (intermodulation) e o Q (quadrature) representam as componentes de crominncia
(cor). A converso entre os sistemas RGB e YIQ dada por:
Y = 0.299R + 0.587G + 0.114B
I = 0.596R 0.274G 0.322B
Q = 0.211R 0.523G + 0.312B
R = 1.000 Y + 0.956 I + 0.621 Q
G = 1.000 Y 0.272 I 0.647 Q
B = 1.000 Y 1.106 I + 1.703 Q
O sistema YUV atualmente utilizado em transmisso de TV em cores pelos padres PAL e NTSC,
dentre outros, e tambm preserva compatibilidade com os padres de TV P & B. No sistema YUV,
o Y representa a componente de luminncia (intensidade percebida, ou brilho), enquanto que as
componentes U e Q representam a crominncia. A converso do sistema RGB para YUV dada
por:
Y = 0.299R + 0.587G + 0.114B
U = 0.147R 0.289G + 0.436B
18

V = 0.615R 0.515G 0.100B


Apesar da retina humana operar fisicamente de acordo com o sistema RGB, o ser humano no
percebe as cores como uma combinao de vermelho, verde e azul. Os atributos perceptivos mais
comumente utilizados na caracterizao das cores so a intensidade, matiz (hue) ou tonalidade, e
saturao. A matiz de uma cor determinada pelo comprimento de onda dominante da cor, ou seja,
a cor espectral mais prxima a ela, de acordo com a percepo de um observador. Quando
dizemos que um objeto verde ou amarelo, estamos especificando a matiz. A saturao expressa o
grau de pureza relativa da cor, com relao adio de branco. As cores espectrais puras so
completamente saturadas. Quanto mais branco houver em uma cor, menos saturada ela.
No sistema HSI (hue, saturation, intensity), a matiz especificada como um ngulo, com 0o
representando a matiz vermelha, 120o representando verde e 240o representando azul; a saturao
um valor real entre 0 e 1, e a intensidade um valor no negativo. Por reproduzir fielmente a
maneira como o ser humano percebe cores, o sistema HSI muito usado por artistas e em
problemas de viso computacional. Uma representao esquemtica do espao de cores HSI pode
ser vista na Figura 1.13.

Figura 1.13 O sistema de cores HSI


A converso entre os sistemas HSI e RBG efetuada conforme especificado nos seguintes pseudocdigos [Fonte: adaptado de EasyRGB - http://www.easyrgb.com]:
De RGB para HSI:
var_R = (R / 255)
var_G = (G / 255)
var_B = (B / 255)

// Valores RGB entre 0 e 255

19

var_Min = min(var_R, var_G, var_B)


var_Max = max(var_R, var_G, var_B)
del_Max = var_Max - var_Min

// Valor mnimo das componentes RGB


// Valor mximo das componentes RGB

L = (var_Max + var_Min) / 2
if (del_Max == 0)
// Nvel de cinza, sem componentes cromticas
{
H=0
S=0
}
else
// Componentes cromticas
{
if (L < 0.5) S = del_Max / (var_Max + var_Min)
else
S = del_Max / ( 2 - var_Max - var_Min )
del_R = (((var_Max - var_R) / 6) + (del_Max / 2)) / del_Max
del_G = (((var_Max - var_G) / 6) + (del_Max / 2)) / del_Max
del_B = (((var_Max - var_B) / 6 ) + (del_Max / 2)) / del_Max
if (var_R == var_Max) H = del_B - del_G
else if (var_G == var_Max) H = (1 / 3) + del_R - del_B
else if (var_B == var_Max) H = (2 / 3) + del_G - del_R
if ( H < 0 ) ; H += 1
if ( H > 1 ) ; H -= 1
}

De HSI para RGB:


if (S == 0)
{
R = L * 255
G = L * 255
B = L * 255
}
else
{
if (L < 0.5) var_2 = L * (1 + S)
else
var_2 = (L + S) - (S * L)
var_1 = 2 * L - var_2
R = 255 * Hue_2_RGB(var_1, var_2, H + (1 / 3))
G = 255 * Hue_2_RGB(var_1, var_2, H)
B = 255 * Hue_2_RGB(var_1, var_2, H - (1 / 3))
}
Hue_2_RGB(v1, v2, vH)
// Funo Hue_2_RGB
{
if (vH < 0) vH += 1
if (vH > 1) vH -= 1
if ((6 * vH) < 1 ) return (v1 + (v2 - v1) * 6 * vH)
if ((2 * vH) < 1) return (v2)
if ((3 * vH) < 2) return (v1 + (v2 - v1) * ((2 / 3) - vH) * 6)
return (v1)
}

20

Captulo 2
Um Modelo de Imagem Digital

2.1

IMAGENS MONOCROMTICAS

Uma imagem monocromtica uma funo de duas variveis fa(x,y), onde as variveis
independentes x e y so em geral coordenadas espaciais e o valor de fa(x,y) define a intensidade
luminosa (ou brilho, ou nvel de cinza) da imagem em (x,y). A Figura 2.1 mostra a conveno aqui
adotada para o posicionamento dos eixos nas imagens.
Para se enfatizar que uma imagem essencialmente uma funo de duas variveis,
conveniente empregar um sistema de trs eixos perpendiculares x, y, z, com z = fa(x,y), como na

21

Figura 2.1 Conveno adotada para os eixos. [Imagem ducky.bmp Fonte: Adobe
Photoshop 7.0]

Figura 2.2 A imagem da Figura 2.1 vista como uma funo de duas variveis

22

A gerao das imagens afetada por dois componentes: a iluminao, i(x,y), que representa a
quantidade de luz incidente sobre o ponto (x,y) e a reflectncia, r(x,y), que representa a quantidade
de luz refletida pelo ponto (x,y). A multiplicao de i(x,y) e r(x,y) formam fa(x,y):
fa(x,y) = i(x,y)r(x,y)
com

0 < i ( x, y ) <

0 < r ( x, y ) < 1

Destaque-se que i(x,y) definida pela fonte de iluminao, enquanto que r(x,y) uma caracterstica
dos objetos da cena. A Tabela 2.1 mostra os valores de iluminao sob diferentes condies
ambientais e a Tabela 2.2 apresenta a reflectncia associada a diferentes objetos.
Tabela 2.1 Iluminao sob diferentes condies ambientais
Condio
Dia de sol
Dia nublado
Escritrio comercial
Lua cheia

i(x,y) (foot-candles)
9000
1000
100
0,01
Tabela 2.2 Reflectncia de diferentes objetos

Material
Neve
Lmina de prata
Parede Branca
Ao Inoxidvel
Veludo preto

2.2

r(x,y)
0,93
0,90
0,80
0,65
0,01

AMOSTRAGEM E QUANTIZAO

Para ser utilizada em um computador uma imagem deve ser digitalizada, ou seja, discretizada tanto
espacialmente quanto em intensidade, por intermdio dos processos de amostragem e quantizao
descritos no Captulo 1 para sinais unidimensionais. No caso de imagens, pode-se estender
facilmente o processo, colhendo-se amostras a intervalos regulares na horizontal e na vertical. Se R
amostras so colhidas na vertical e C na horizontal, obtem-se uma matriz R x C. Para imagens,
normalmente, faz-se Q = {0, 1, ..., L-1}, de forma que a preciso da quantizao especificada pelo
nmero de nveis de quantizao L, e no diretamente por q.
A matriz resultante do processo de discretizao espacial e de brilho representa uma imagem
digital monocramtica, e cada elemento f(i, j) conhecido por pixel (contrao de picture element).

23

f (0,0)
f (1,0)

...

f ( R 1,0)

f (0,1)
f (1,1)
...
f ( R 1,1)

...
...
...
...

f (0, C 1)
f (1, C 1)

...

f ( R 1, C 1)

Uma imagem monocromtica apresenta unicamente gradaes de cinzas, com pixels mais claros
representando valores mais elevados; pixels pretos tm valor zero, enquanto que pixels brancos tm
valor L-1. A mostra a imagem monocromtica de dimenses R = 399, C = 533, com L = 256, e a
representao matricial correspondente.

(a)
161 161 ... 142
161 161 ... 142

... ... ...


...

163 163 ... 95


(b)
Figura 2.3 Uma imagem digital monocromtica: (a) representao grfica usual; (b)
representao matricial
O enfoque matricial permite considerar uma imagem digital de dimenses R x C como uma
coleo de R sinais unidimensionais com C amostras cada, dados pelas linhas da matriz ou,
alternativamente, como uma coleo de C sinais unidimensionais com R amostras cada, dados pelas
colunas da matriz. Esta viso traz diversas implicaes importantes, notadamente na construo de
filtros e transformadas separveis, que sero vistos em captulos posteriores, conduzindo a
implementaes computacionalmente mais eficientes. A Figura 2.4 apresenta os sinais
unidimensionais que constituem a primeira linha (i = 0), uma linha intermediria (i = 200) e a uma
coluna intermediria (j = 266) da imagem da Figura 2.3 (a).

24

#*$
#$$
%*$
%$$
*$
$

%$$

#$$

($$

&$$

*$$

($$

&$$

*$$

(a)
#*$
#$$
%*$
%$$
*$
$

%$$

#$$

(b)
#*$
#$$
%*$
%$$
*$
$

*$

%$$

%*$

#$$

#*$

($$

(*$

(c)
Figura 2.4 Sinais unidimensionais extrados da imagem da Figura 2.3: (a) linha i = 0; (b) linha
i = 200; (c) coluna j = 266.
Devido eliminao de informao inerente amostragem e quantizao, uma imagem
digital uma aproximao da imagem analgica a partir da qual ela foi obtida. A qualidade da
aproximao depende essencialmente dos valores de R, C e L. Em geral, quantos maiores estes
parmetros, melhor a qualidade da digitalizao. comum restringir-se o parmetro L a potncias
de dois:
L = 2l
com l inteiro. O nmero de bits necessrio para representar uma imagem digital , neste caso

25

b=RxCxl
Aumentar R, C e l melhora a qualidade da imagem, mas aumenta as o nmero de bits requerido para
a codificao binria da imagem, o que pode ocasionar problemas de armazenamento e transmisso.
A Tabela 2.3 mostra o nmero de bytes de uma imagem digital monocromtica para diversos
valores de R, C e L.
Tabela 2.3 Nmero de Bytes em Uma Imagem Digital Monocromtica
L
R=C
32
256
512
1024

2
128
8192
32768
131072

64
768
49152
196608
786432

256
1024
65536
262144
1048576

32K
1920
122880
491520
1966080

64K
2048
131072
524288
2097152

16M
3072
196608
786432
3145728

O nmero de amostras e nveis de cinza para obteno de uma imagem digital de qualidade
adequada depende das caractersticas da imagem (quo complexa ela , qual o seu tamanho, etc) e
da aplicao que se pretende dar a ela. A Figura 2.5 mostra o efeito dos parmetros de digitalizao
na qualidade visual de uma imagem monocromtica.

256 x 256 / 256 nveis

32 x 32 / 256 nveis

26

256 x 256 / 64 nveis

256 x 256 / 2 nveis

Figura 2.5 Qualidade de uma imagem monocromtica para alguns valores de R, C e L

2.3

IMAGENS COLORIDAS

Em uma imagem digital colorida no sistema RGB, pode-se considerar um pixel como um vetor f(i,j)
= (fr(x,y), fg(x,y), fb(x,y)), cujas componentes representam as intensidades de vermelho, verde e azul
da cor. Pode-se considerar, portanto, que uma imagem colorida a composio de trs imagens
monocromticas, fr(x,y), fg(x,y), fb(x,y), denominadas, respectivamente, de banda vermelha (ou
banda R), banda verde (ou banda G), e banda azul (ou banda B) da imagem colorida, conforme
ilustra a Figura 2.6. Esta figura pretende destacar que os valores dos pixels nas bandas R, G e B
representam de fato nveis de vermelho, verde e azul, respectivamente.
Para cada banda, valem os mesmos conceitos apresentados para a imagem digital monocromtica. A
amostragem quase sempre efetuada de forma idntica em todas as bandas.
O nmero de cores que um pixel pode assumir em uma imagem RGB com Lr nveis de
quantizao na banda R, Lg na banda G e Lb na banda B Lr x Lg x Lb. Se
lr = log2(Lr)
lg = log2(Lg)
lb = log2(Lb),
o nmero de bits por pixel necessrios para representar as cores lr + lg + lb, e o nmero de bits
necessrio para representar uma imagem digital de dimenses R x C
b = R x C x (lr + lg + lb)
Exemplificando, se Lr = Lg = Lb = 28 = 256, ou seja, se h 256 nveis possveis em cada banda, a
imagem colorida pode apresentar at 16.777.216 cores diferentes. Neste caso, cada pixel ser
representado por 3 x 8 = 24 bits. A Tabela 2.4 mostra o nmero de bytes necessrios para
representar uma imagem RGB, para diversos valores dos parmetros de digitalizao.

27

Tabela 2.4 Nmero de bytes de uma imagem RGB


R=C
32
256
512
1024

2.4

2
384
24576
98304
393216

Lr = Lg = Lg
64
2304
147456
589824
2359296

256
3072
196608
786432
3145728

OPERAES ENVOLVENDO IMAGENS

Em geral, as tcnicas de processamento de imagens podem ser aplicadas no domnio do espao ou


no domnio da freqncia. Nas operaes no domnio do espao trabalha-se diretamente com os
pixels da imagem. O Captulo 4, o Captulo 5 e o Captulo 6 tratam do domnio do espao. Uma
outra abordagem consiste em aplica uma operao matemtica genericamente denominada de
transformada sobre a imagem a ser processada, convertendo-a do domnio do espao para o domnio
da freqncia, e processar a imagem neste domnio. O Captulo 7 trata de tcnicas de processamento
no domnio da freqncia.

28

Banda R

Banda G

Banda B

Imagem RGB
Figura 2.6 Uma imagem RGB e sua bandas R, G e B [Fonte (Imagem RGB): Araqum
Alcntara, Tucano-bico-preto, http://www.araquem.com.br/]
29

Pode-se representar uma operao T sobre n imagens, f1, f2, ..., fn, produzindo uma imagem
de sada g, como
g = T[f1, f2, ..., fn]
Em geral, a equao acima descreve o que se conhece como operao n-ria, com a imagem de
sada sendo produzida a partir de uma ou mais imagens de entrada. Quando n = 2, tem-se uma
operao binria e, quando n = 1, uma operao unria, onde uma nica imagem de entrada
processada produzindo uma imagem de sada. As operaes unrias so tambm chamadas de
filtros. As operaes de filtragem no domnio do espao so abordadas no Captulo 4, enquanto que
as operaes n-rias, com n > 1, so estudadas no Captulo 5.

30

Captulo 3
Dispositivos Grficos

3.1

IMPRESSORAS

Nas impressoras coloridas modernas, cada ponto constitudo por uma combinao ponderada dos
trs pigmentos primrios (CMY), com ou sem a adio de preto. A resoluo de uma impressora
proporciona uma medida do grau de detalhes que esta pode apresentar. Quanto maior a resoluo,
menor o ponto e, conseqentemente, maior a qualidade da sada da impressora.
A resoluo das impressoras normalmente especificada em pontos por polegada
(1 polegada = 2,54 cm), ou dpi (dots per inch). Uma impressora com resoluo de 720 x 720 dpi
pode imprimir 720 pontos por polegada na horizontal e 720 pontos por polegada na vertical.

3.2

MONITORES DE VDEO E APARELHOS DE TV

Muitos monitores de vdeo e aparelhos de TV possuem um dispositivo denominado tubo de raios


catdicos (CRT). Um CRT consiste em um canho que dispara feixes de eltrons em direo a uma
tela revestida com pontos de fsforo. Bobinas defletoras produzem campos eltricos que direcionam
os feixes de forma a faz-los atingir pontos especficos da tela.
A proporo entre largura e a altura de uma tela de monitor de vdeo ou aparelho de TV
convencional de 3:4 (vertical:horizontal). Se uma diagonal da tela mede p polegadas, tem-se um
monitor ou aparelho de p polegadas. Um monitor de 14 polegadas, por exemplo, tem uma largura
w = 11,2 e uma altura h = 8,4 polegadas.
31

Nos monitores de vdeo de varredura fixa, muito semelhantes aos aparelhos de TV, feixes
eletrnicos varrem a tela, linha a linha, da esquerda para a direita e de cima para baixo. Ao serem
atingidos pelos eltrons, os pontos de fsforo que revestem a parede interna da tela absorvem a
energia do feixe. Parte da energia absorvida progressivamente liberada na faixa do espectro
visvel, de forma que os pontos brilham por um perodo que caracteriza a chamada persistncia do
fsforo. No caso de monitores de vdeo, a persistncia do fsforo utilizado baixa, de forma que os
pontos atingidos pelo feixe brilham apenas por um breve perodo.
Nos monitores coloridos, a tela revestida por agrupamentos de trs tipos de fsforo, que
emitem luz vermelha, verde ou azul. Cada um destes agrupamentos denominado trade. Os pontos
de fsforo em uma trade se encontram to prximos entre si que parecem ao olho humano um
nico ponto colorido. Um canho emite trs feixes de eltrons, cada um deles direcionado para um
ponto especfico da trade. A intensidade de cada feixe independentemente controlada, o que
permite definir a intensidade da radiao emitida por cada ponto da trade e, conseqentemente, a
cor resultante.
O tamanho das trades denominado dot pitch. Um dot pitch pequeno significa pontos bem
definidos, ou seja, boa qualidade visual. De forma anloga s imagens digitais, a tela uma matriz
bidimensional de pixels, e cada pixel pode ser composto por vrias trades. Uma tela com resoluo
de C x R capaz de apresentar C pixels na horizontal e R na vertical.
A figura seguinte mostra esquematicamente o trajeto dos feixes de eltrons.
Linha 0
Linha 1

Linha R-1
Quando o feixe termina a varredura de todas as linhas da tela, diz-se que foi formado um quadro. A
freqncia de sincronismo horizontal (HSync) o nmero de linhas varridas por segundo durante a
produo de um quadro, enquanto que a freqncia de sincronismo vertical (VSync) nmero de
quadros gerados por segundo.
Seja R o nmero de linhas em um quadro; tr o tempo decorrido desde o incio da varredura
de uma linha at o incio da varredura da prxima linha do mesmo quadro; tv o tempo de retrao
vertical; e tq = R.tr + tv o tempo decorrido entre o incio da varredura de um quadro e o incio da
varredura do prximo quadro. HSync e VSync so dadas por:
HSync =

VSync =

1
tr

1
1
=
t q R.t r + t v

Para que a imagem na tela no apresente um efeito desagradvel de cintilao, mais conhecido
como flicker, necessrio que VSync seja igual ou superior a 60 quadros/s, ou seja, a durao de
um quadro no deve ultrapassar 1/60 s. Assim, para no haver flicker, temos:
32

tq

1
1
R.t r + t v
60
60

O tempo de retrao vertical pode ser expresso como um mltiplo de tr, ou seja, tv = n.tr, e a equao
anterior pode ser reescrita como:
( R + n)t r

1
1
.t r
.HSync 60 ( R + n)
60
60 ( R + n)

Assim, HSyncmin = 60(R + n) o menor valor de HSync necessrio para no ocorrer flicker. Em
alguns modelos de monitor, na resoluo de 640 x 480 o retrao vertical dura aproximadamente
45tr. Neste caso, HSyncmin = 31500 linhas/s = 31,5 KHz. Na resoluo de 800 x 600, tv 30tr,
resultando em HSyncmin = 37,8 KHz. Na resoluo de 1024 x 768, tv 20tr, e HSyncmin = 47,3 KHz.
O modelo Samsung SyncMaster 3, um dos monitores de vdeo mais populares da ltima
dcada, possui HSync = 35,5 KHz e operam com uma resoluo mxima de 800 x 600, o que
resultaria em VSync = 56 quadros/s, com a ocorrncia de flicker.
Um paliativo muito comum nestes casos o uso de entrelaamento. Na formao de um
quadro com entrelaamento, o feixe eletrnico percorre primeiramente apenas as linhas mpares e,
no quadro seguinte, apenas as pares; no prximo, novamente as mpares, e assim por diante. Assim,
no modo entrelaado, cada quadro possui a metade de linhas de um quadro no modo noentrelaado, o que permite dobrar a freqncia vertical, minimizando o flicker ao preo de uma
menor definio de detalhes nas imagens.
O Samsung SyncMaster 3 opera no modo entrelaado para a resoluo de 800 x 600,
apresentando assim uma VSync = 112 quadros/seg.
O VESA definiu uma VSync mnima de aproximadamente 70 Hz para evitar flicker e
tambm o efeito estroboscpico de 60 Hz, causado pela cintilao da tela de vdeo na mesma
freqncia que a cintilao das lmpadas ligadas rede eltrica.

3.3

MEMRIA DE VDEO

A imagem a ser exibida na tela de um monitor deve ser armazenada na chamada memria de vdeo,
localizada na placa controladora de vdeo. A memria de vdeo repetidamente lida pela
controladora, que utiliza as informaes ali encontradas para ajustar a intensidade dos feixes
eletrnicos do CRT, regenerando adequadamente a imagem na tela.
A cada pixel da tela corresponde uma locao na memria de vdeo, cujo contedo pode ser
interpretado de duas maneiras. No modo direto, cada locao contm a informao sobre a
intensidade das componentes RGB do pixel correspondente. Exemplificando, um byte na memria
de vdeo pode reservar dois bits para controlar a intensidade da componente azul, trs bits para a
componente verde e trs para a componente vermelha do pixel a ela associado.
Alternativamente, cada locao na memria de vdeo pode conter um ndice para uma linha
de uma tabela de cores, tambm localizada na placa controladora de vdeo e manipulvel por
software. Neste caso, a linha indexada contm informao sobre as componentes RGB do pixel
associado quela locao na tabela de vdeo. Uma paleta de cores um preenchimento especfico
de uma tabela de cores em um dado momento.
Como ilustrao, suponhamos que a cada pixel corresponda quatro bits na memria de
vdeo. No modo direto, h 16 cores possveis fixas, que podem ser obtidas alocando-se dois bits
para o verde, um para o vermelho e um para o azul, por exemplo.
33

O controlador leria o dado correspondente a prxima posio do feixe na tela, e passaria os bits de
controle de cada componente de cor a trs conversores digital/analgico (DAC), que gerariam as
tenses a serem aplicadas aos canhes de eltrons, determinando assim as intensidades das
componentes.
No modo de tabela de cores, os quatro bits permitiriam indexar 16 linhas. Com 24 bits por
linha, oito bits poderiam representar cada componente de cor. Duas possveis paletas so
apresentadas na Tabela 3.1 e na Tabela 3.2. A paleta da Tabela 3.2 contm 16 nveis de cinza
diferentes, includo o preto e o branco. V-se que a tabela de cores permite uma maior flexibilidade.
Uma tabela de cores com 16 linhas contendo 24 bits/linha para especificao das componentes R, G
e B das cores permite a seleo de 16 cores quaisquer de um total de 256 x 256 x 256 = 16,7
milhes de cores. H um total de 25616x3 = 25648 = 2384 paletas diferentes neste caso, o que permite
ampla flexibilidade na seleo de paletas adequadas para imagens especficas.
Com a tabela de cores da Tabela 3.2 so necessrios trs DACs de oito bits. O controlador l
o dado da memria de vdeo, usa-o para indexar uma linha da tabela de cores e envia os valores de
cada componente, obtidos nesta linha, para cada um dos DACs.
Sistemas de exibio que operam com at 256 cores simultneas normalmente empregam
paletas. Acima disso, o modo direto mais comum. Como a cada pixel correspondem n bits na
memria de vdeo, com n = log2(nmero mximo de cores simultneas), quanto maiores a resoluo
da tela e o nmero mximo de cores simultneas, maior a memria de vdeo requerida, conforme se
v na Tabela 3.3.
Tabela 3.1 Uma paleta com 16 cores
ndice
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

R
0
0
0
0
0
0
0
0
255
255
255
255
255
255
255
255

G
0
0
84
84
169
169
255
255
0
0
84
84
169
169
255
255

B
0
255
0
255
0
255
0
255
0
255
0
255
0
255
0
255

34

Tabela 3.2 Uma paleta com 16 nveis de cinza


ndice
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

R
0
16
33
50
67
84
101
118
135
152
169
186
203
220
237
255

G
0
16
33
50
67
84
101
118
135
152
169
186
203
220
237
255

B
0
16
33
50
67
84
101
118
135
152
169
186
203
220
237
255

Tabela 3.3 Tamanho da memria de vdeo para diversos modos de vdeo


Resoluo
640 x 480
640 x 480
640 x 480
800 x 600
800 x 600
800 x 600
1024 x 768
1024 x 768
1024 x 768

No mximo de cores simultneas


16
256
16M
256
64K
16M
256
64K
16M

Memria de vdeo (em bytes)


150 K
300 K
750K
468,75 K
937,5 K
1,37 M
768 K
1,5 M
2,25 M

35

Captulo 4
Filtros Espaciais

Os operadores unrios, tambm denominados filtros, processam uma nica imagem de entrada
produzindo uma imagem de sada. Um filtro pode ser representado de forma simplificada como uma
operao T que mapeia uma imagem de entrada f em uma imagem de sada g:
g = T[f]

4.1

OPERAES PONTUAIS E LOCAIS

Quanto ao escopo de atuao, filtros espaciais podem ser locais ou pontuais. Em uma operao
unria pontual, g(i, j) depende do valor do pixel na locao (i, j) em cada uma das imagens de
entrada. Por simplicidade de notao, representaremos um filtro pontual por
s = T(r)
onde r e s denotam, respectivamente, o nvel de cinza de f e g em um ponto (i, j) qualquer. A Figura
1.1 ilustra o filtro de controle de contraste. Na parte (a) da Figura 4.1, T(s) tende a produzir uma
imagem com contraste maior que a original, escurecendo os nveis abaixo de m e aumentando o
brilho dos nveis acima de m. Em um caso extremo da transformao de aumento de contraste,
apresentado na parte (b) da Figura 4.1, T(r) produz uma imagem com apenas dois nveis de cinza.

36

(0,0)

(0,0)

(a)

m
(b)

Figura 4.1 Representao grfica de um filtro pontual: (a) aumento de contraste e (b) caso
extremo de aumento de contraste
Em uma operao unria local, g(i, j) depende dos valores dos pixels das imagens de entrada em
uma vizinhana de (i, j). Comumente, a vizinhana de (i, j) definida como sendo uma rea
retangular ou quadrada centrada em (i, j), como indica a Figura 4.2.
j

j-1

j j+1

i
Vizinhana de (i, j)
Vizinhana de (i, j)
Figura 4.2 Duas possveis vizinhanas do pixel nas coordenadas (i,j)

Um exemplo de um filtro local utilizando a vizinhana quadrada da Figura 4.2 consiste em definir
g(i, j) como a media dos pixels da imagem de entrada f contidos na vizinhana:
1
g (i, j ) = [ f (i 1, j 1) + f (i 1, j ) + f (i 1, j + 1) +
9
+ f (i, j 1) + f (i , j ) + f (i, j + 1) +
+ f (i + 1, j 1) + f (i + 1, j ) + f (i + 1, j + 1)]
Se a operao for repetida para todas as coordenadas (i, j) da imagem de entrada, ser obtida uma
nova imagem g(i, j) onde cada pixel ser a mdia dos pixels da imagem de entrada na vizinhana
especificada. H, no entanto, um problema para calcular g(i, j) na primeira e na ltima coluna, uma
vez que a imagem de entrada no est definida para j = -1 e j = C. H vrias maneiras de contornar
esse problema; pode-se, por exemplo, redefinir a operao na primeira coluna como a mdia entre
f(i, j) e f(i, j +1) e, na ltima coluna, como a mdia entre f(i, j-1) e f(i, j).
37

As sees seguintes apresentam vrios exemplos de filtros espaciais. Por simplicidade de


notao, os conceitos sero apresentados predominantemente para imagens monocromticas. Para
imagens coloridas, dependendo dos objetivos especficos, h duas opes muitas empregadas:
1. Aplicao do filtro de maneira independente em cada banda da imagem. Esta
modalidade pode causar fortes alteraes de matizes, uma vez que as informaes de
crominncia so afetadas.
2. Aplicao do filtro apenas na componente de luminncia. Pode-se, por exemplo,
transformar a imagem original de RGB para YIQ, aplicar o filtro sobre a banda Y, e
converter as bandas Y, I e Q da imagem filtrada para RGB. Esta opo no causa
alterao de matizes.

4.2

NEGATIVO

A obteno do negativo de uma imagem digital tem vrias aplicaes. Por exemplo, se o negativo
de uma imagem na tela fotografado utilizando uma cmera fotogrfica com filme convencional, o
negativo deste filme, gerado no processo de revelao em laboratrio, ser uma imagem positiva,
que poder ser usada como slide. tambm comum que o negativo de uma imagem constitua uma
forma de visualizao mais conveniente de determinados tipos de imagens.
O negativo de uma imagem digital obtido por intermdio da operao pontual
s = T(r) = L 1 r
A representao grfica desta operao pode ser vista na Figura 4.3
s
L-1

(0,0)

L-1

Figura 4.3 Representao grfica da operao de negativo


Pode-se observar o resultado da aplicao do filtro negativo sobre uma imagem monocromtica na
Figura 4.4. A Figura 4.5 mostra os resultados da aplicao do filtro negativo seguindo as opes
citadas no final da Seo 4.1. Como se pode notar na Figura 4.5 (b), a aplicao do negativo nas
bandas R, G e B da imagem introduz alteraes intensas de matizes, com a substituio das cores
por suas complementares (verde/magenta, azul/amarelo, vermelho/cano, branco/preto). Por outro
lado, a aplicao do negativo exclusivamente na componente de luminncia Y, com a converso
posterior para o sistema RGB original Figura 4.5 (c) preserva perfeitamente as matizes
originais.

38

(a)

(b)
Figura 4.4 Filtro negativo: (a) Imagem original [Fonte: Sebastio Salgado, exposio
fotogrfica Terra Movimento dos Sem-Terra, The New York Times On the Web]; (b)
negativo da imagem.

39

(a)

(b)

(c)

Figura 4.5 Filtro negativo: (a) imagem original [Fonte: Denise Greco, Lorikeet, galeria de
fotos do site http://wwwbr.kodak.com]; (b) negativo aplicado sobre as bandas R, G e B; (c)
negativo aplicado sobre a luminncia Y.

40

4.3

CONTROLE DE CONTRASTE

Imagens de baixo contraste podem resultar de iluminao deficiente, abertura insuficiente do


diafragma da cmera, tempo de exposio demasiadamente curto, problemas eletrnicos no
equipamento de digitalizao, etc. Um contraste reduzido dificulta o discernimento dos objetos
presentes na cena. O objetivo do aumento de contraste aumentar a faixa de nveis de cinza
utilizada. Em algumas situaes, no entanto, pode ser esteticamente interessante reduzir o contraste
em uma cena. A operao de controle de contraste pode ser definida de muitas maneiras. Uma
forma simples est graficamente representada na Figura 4.6.
s
L-1
(r2, s2)

(r1, s1)
(0,0)

L-1

Figura 4.6 Operao de controle de contraste


Se r1 = s1 e r2 = s2, no h nenhuma alterao nos nveis de cinza. Se r1 = (L-1)/2, s1 = 0, r2 = L/2, e
s2 = L-1, a operao produz uma imagem de dois nveis, 0 e L1, com os nveis de entrada menores
do que L/2 sendo mapeados para 0 e os demais sendo mapeados para L-1. Se a declividade do
primeiro e do ltimo segmento de reta menor que um e a do segmento central maior que um, temse aumento do contraste. Por outro lado, se a declividade do primeiro e do ltimo segmento de reta
maior que um e a do segmento central menor que um, tem-se reduo do contraste.
O filtro de aumento de contraste adaptativo especificado por:
c

[ f (i, j ) (i, j )]; (i, j ) 0


(i, j ) +
(i, j )
g (i, j ) =
f (i, j ); (i, j ) = 0

onde (i, j ) a mdia em uma vizinhana n x n de (i, j); (i, j ) o desvio padro em uma
vizinhana n x n de (i, j); e c um parmetro no-negativo que controla a intensidade do aumento
de contraste. A Figura 4.7 apresenta os resultados obtidos pelo filtro de aumento de contraste
adaptativo. Note-se que, se o valor de c/ (i, j ) for reduzido, o termo (i, j ) pode se tornar
dominante, e o filtro assume um comportamento semelhante ao do filtro mdia, descrito na Seo
4.5, produzindo um efeito de suavizao das fronteiras entre os objetos presentes na imagem. Este
efeito pode ser observado na Figura 4.7 (b).

41

(a)

(b)

(c)

(d)

Figura 4.7 Filtro de contraste adaptativo: (a) imagem original [Fonte: Vistex Database
(detalhe da imagem food.0000.pgm)]; contraste adaptativo com (b) c = 10 e n = 5; (c) c = 60 e
n = 3; (d) c = 60 e n = 5.

4.4

EQUALIZAO E EXPANSO DE HISTOGRAMA

Se o nvel de cinza l ocorre nl vezes em uma imagem com n pixels, podemos estimar a
probabilidade de ocorrncia do nvel l na imagem por intermdio de sua freqncia relativa:
P(l ) =

nl
n

O histograma da imagem uma representao grfica de nl ou de P(l) em funo de l, conforme


ilustra a Figura 4.8.

42

Histograma

nl
7
6
5
4
3
2
1
0

Imagem
1

Figura 4.8 Uma imagem 3 x 5 (L = 4) e seu histograma


A anlise do histograma permite tecer consideraes a respeito da distribuio de nveis de cinza de
uma imagem. A Figura 4.9 apresenta histogramas tpicos de imagens escuras, claras, e de nveis
intermedirios.
nl

nl

255
(a)

nl

255
(b)

255

(c)

Figura 4.9 Histogramas: (a) imagens escuras; (b) imagens claras; c) imagens de brilho
intermedirio
A Figura 4.10 apresenta uma imagem predominantemente escura contendo uma regio de alta
luminosidade, bem como o histograma correspondente. A Figura 4.11 apresenta uma subimagem
extrada de uma regio particularmente escura da imagem da Figura 4.10, e o histograma resultante,
onde se pode observar a ausncia de nveis de cinza elevados.

43

%$$$$
+$$$
'$$$
&$$$
#$$$
$
$

*$

%$$

%*$

#$$

#*$

Figura 4.10 Imagem Jacare e o histograma correspondente

%*$$

%$$$

*$$

$
$

*$

%$$

%*$

#$$

#*$

Figura 4.11 Imagem extrada da imagem Jacare e o histograma correspondente


44

Nos casos em que uma faixa reduzida de nveis de cinza utilizada, como na imagem da Figura
4.11, a tcnica de expanso de histograma pode produzir uma imagem mais rica em detalhes. A
expanso de histograma consiste na transformao pontual:
r rmin

s = T ( r ) = round
( L 1)
rmax rmin

onde rmin e rmax representam, respectivamente, o menor e o maior nvel de cinza presentes na
imagem de entrada, com rmin < rmax, L o limite superior da escala de cinzas e round significa
arredondamento para o inteiro mais prximo. A operao atribui valor zero aos pixels com nvel de
cinza rmin e valor L-1 aos pixels com nvel de cinza rmax, e distribui proporcionalmente os nveis
intermedirios entre 0 e L-1. Assim, essa operao leva utilizao de toda a escala de cinzas
disponvel. A Figura 4.12 apresenta o efeito produzido pela operao.
%*$$

%$$$

*$$

$
$

*$

%$$

(a)

%*$

#$$

#*$

%*$

#$$

#*$

(b)
%*$$

%$$$

*$$

(c)

*$

%$$

(d)

Figura 4.12 Expanso de histograma: (a) imagem original; (b) histograma da imagem
original; (c) imagem resultante; (d) histograma da imagem resultante.
Quando a imagem de entrada apresenta tanto pixels de valor 0 quanto L-1 (ou valores
prximos a esses extremos) a expanso de histograma ineficaz (ou praticamente ineficaz). Nestas
situaes, se a imagem de entrada apresenta uma distribuio pobre de nveis de cinza, a tcnica de
equalizao de histograma pode produzir bons resultados. O objetivo da equalizao de histograma
gerar uma imagem com uma distribuio de nveis de cinza uniforme. A tcnica til para realar
diferenas sutis entre nveis de cinza prximos e leva, em muitos casos, a um aumento substancial
no nvel de detalhes perceptveis.
A operao de equalizao de histograma de uma imagem de dimenses R x C
proporcionada pela transformao:

45

L 1 r
s = T (r ) = round
nl
RC l =0
Como exemplo, consideremos uma imagem 64 x 64, com L = 8, com o histograma
apresentado na Figura 4.13.
l
0
1
2
3
4
5
6
7

nl

nl
790
1023
850
656
329
245
122
81

1200
1000
800
600
400
200
0
0

Figura 4.13 O histograma de uma imagem 64 x 64, L = 8


A equalizao de histograma produz:
r = 0 ! s = round(790 x 7 / 4096) = 1
r = 1 ! s = round(1813 x 7 / 4096) = 3
r = 2 ! s = round(2663 x 7 / 4096) = 5
r = 3 ! s = round(3319 x 7 / 4096) = 6
r = 4 ! s = round(3648 x 7 / 4096) = 6
r = 5 ! s = round(3893 x 7 / 4096) = 7
r = 6 ! s = round(4015 x 7 / 4096) = 7
r = 7 ! s = round(4096 x 7 / 4096) = 7
V-se que o nvel 0 transformado em 1; o 1 torna-se 3; o 2 torna-se 5; os nveis 3 e 4 so
transformados em 6 (que conter, portanto, 656 + 329 = 985 pixels); e o 5, o 6 e o 7 so
transformados em 7 (que conter 448 pixels). O histograma equalizado apresentado na Figura
4.14.

46

nk
1200
1000
800
600
400
200
0
0

Figura 4.14 Resultado da equalizao do histograma da Figura 4.13


Observe-se que a os nveis de cinza no ocorrem todos com a mesma freqncia na imagem
resultante, o que caracterizaria uma equalizao perfeita, mas o histograma original, caracterstico
de uma imagem preponderantemente escura, foi transformado em um histograma caracterstico de
uma imagem com nveis bem distribudos.
A imagem resultante da equalizao de histograma sempre ter pixels de valor L-1. No
entanto, como ilustra a Figura 4.14, o valor mnimo presente na imagem resultante pode ser maior
que zero. Por este motivo, para garantir que toda a escala de cinzas disponvel ser utilizada,
comum efetuar-se expanso de histograma aps equalizao de histograma. A Figura 4.15 ilustra o
efeito obtido pela operao de equalizao seguida por expanso de histograma.
%*$$

%$$$

*$$

$
$

*$

%$$

(a)

%*$

#$$

#*$

%*$

#$$

#*$

(b)

%*$$
%$$$
*$$
$

(c)

*$

%$$

(d)

Figura 4.15 Equalizao seguida de expanso de histograma: (a) imagem original; (b)
histograma da imagem original; (c) imagem resultante; (d) histograma da imagem resultante.
47

4.5

FILTROS DE SUAVIZAO

Os filtros mdia, mediana e moda produzem uma suavizao da imagem, reduzindo variaes
bruscas de nveis de cinza entre pixels adjacentes, e podem ser usados para reduo de rudos ou
interferncias de origens diversas.
No filtro mdia o valor do pixel g(i, j) a mdia dos valores dos pixels de f em uma
vizinhana de (i, j) contendo n pixels. A suavizao produzida proporcional a n, e o filtro
apresenta o inconveniente de reduzir fortemente a definio das bordas dos objetos na imagem. A
operao pode efetuada por intermdio de uma convoluo de f com uma mscara convolucional
apropriada. Para uma vizinhana de dimenses 3 x 3, por exemplo, o ncleo do filtro mdia seria:
1 1 1
1
1 1 1
h=

9
1 1 1
No filtro mediana, o valor do pixel g(i, j) a mediana dos valores dos pixels de f em uma
vizinhana de (i, j) contendo n pixels. A mediana de um conjunto de n pixels ordenados por valor
o valor do pixel na posio central da lista ordenada, se n for mpar, ou a mdia dos valores dos dois
pixels nas posies centrais, se n for par de valores. Como exemplo, consideremos uma vizinhana
3 x 3 com os seguintes valores, j ordenados: (10, 15, 20, 20, 20, 20, 20, 25, 100). A mediana o
valor central, ou seja, o valor do quinto elemento da lista (20). Consideremos agora uma vizinhana
2 x 2 com valores (20, 20, 25, 100). A mediana a mdia entre 20 e 25, ou seja, 22,5.
O filtro mediana tambm produz uma suavizao proporcional a n, mas com uma melhor
preservao das bordas dos objetos na imagem quando comparado com o filtro da mdia.
No filtro moda, o valor do pixel g(i, j) a moda dos valores dos pixels de f em uma
vizinhana de (i, j) contendo n pixels. A moda de um conjunto de valores o valor mais freqente
do conjunto. Para o filtro da moda, se houver dois ou mais valores igualmente freqentes, pode-se
definir como valor de g(i, j) a mdia ou mediana destes valores.
A Figura 4.16 ilustra a eficcia da aplicao dos filtros mdia, moda e mediana sobre uma
imagem contaminada por rudo aditivo uniforme. Destaque-se o resultado obtido pelo filtro mediana
com vizinhana 3 x 3, eliminando praticamente todo o rudo e, ao mesmo tempo, preservando os
detalhes visualmente mais importantes da imagem original.

4.6

FILTROS DE AGUAMENTO

Os filtros de aguamento produzem efeito contrrio ao dos filtros de suavizao, acentuando


variaes de nveis de cinza entre pixels adjacentes. Os filtros de aguamento so geralmente
baseados no conceito de gradiente de funes bidimensionais. O vetor gradiente de uma funo f
contnua em (x, y) assim definido:
f
x

G[f(x, y)] =
f

y
48

O vetor gradiente G[f(x, y)] aponta no sentido da maior taxa de variao de f(x, y), e seu mdulo
G[f(x, y)], que representa a taxa de variao de f(x, y) por unidade de distncia no sentido de G,
dado por
f 2 f 2

G[ f ( x, y )] = +
x
y

1/ 2

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)
49

Figura 4.16 Filtros mdia, mediana e moda com vizinhana 3 x 3 e 5 x 5: (a) imagem original;
(b) imagem com rudo; imagens resultantes aps aplicao sobre a imagem ruidosa dos filtros
(c) mdia, 3 x 3; (d) mdia 5 x 5; (e) mediana 3 x 3; (f) mediana 5 x 5; (g) moda 3 x 3; (h) moda
5 x 5.
Nos filtros de gradiente, o valor do pixel g(i, j) da imagem de sada uma aproximao discreta do
mdulo do vetor gradiente nas coordenadas (i, j) da imagem f de entrada. Algumas aproximaes
usuais incluem:
g(i, j) = {[f(i, j) - f(i+1, j)]2 + [f(i, j) - f(i, j+1)]2}1/2
g (i, j) = | f(i, j) - f(i+1, j)| + | f(i, j) - f(i, j+1)|
Gradiente de Roberts:
g(i, j) ={[ f(i, j) - f(i+1, j+1)]2 + [f(i+1, j) - f(i, j+1)]2}1/2
g(i, j) = | f(i, j) - f(i+1, j+1)| + |f(i+1, j) - f(i, j+1)|
Gradiente de Prewitt:
g(i, j) = | f(i+1, j-1) + f(i+1, j) + f(i+1, j+1) - f(i-1, j-1) - f(i-1, j) - f(i-1, j+1)| +
| f(i-1, j+1) + f(i, j+1) + f(i+1, j+1) - f(i-1, j-1) - f(i, j-1) - f(i+1, j-1)|
Gradiente de Sobel:
g(i, j) = | f(i+1, j-1) + 2f(i+1, j) + f(i+1, j+1) - f(i-1, j-1) - 2f(i-1, j) - f(i-1, j+1)| +
| f(i-1, j+1) + f(i, j+1) + f(i+1, j+1) - f(i-1, j-1) - 2f(i, j-1) - f(i+1, j-1)|
Em todas as aproximaes, h uma relao direta entre o valor do filtro gradiente e a diferena entre
pixels prximos. Assim, o valor resultante maior nas transies mais acentuadas da imagem e
menor em regies mais uniformes, sendo zero em regies de intensidade constante.
muito comum efetuar uma binarizao na imagem resultante da filtragem por gradiente,
definindo-se um limiar e mapeando-se para L todos os pixels com mdulo de gradiente maior ou
igual ao limiar, e para 0 os demais pixels.
Na Figura mostra o efeito da aplicao do Gradiente de Roberts, com e sem binarizao.

(a)

(b)

(c)

50

(d)

(e)

(f)

Figura 4.17 Filtro gradiente de Roberts: (a) imagem original; (b) imagem resultante da
aplicao do gradiente de Roberts; (c) negativo da imagem em (b); (d) binarizao da imagem
em (c), com limiar 15; (e) binarizao da imagem em (c), com limiar 30; (f) binarizao da
imagem em (c), com limiar 60.
O filtro de reforo de altas freqncias (high-boost ou unsharp filter) definido como:
g(i, j) = [1+c] f(i, j) c fLP(i, j)
onde f(i, j) a imagem de entrada, fLP(i, j) a imagem resultante da aplicao de um filtro de
suavizao sobre f(i, j) e c um parmetro no-negativo, geralmente menor que 1 que controla a
intensidade do efeito, que torna-se mais intenso medida que c cresce. O resultado da aplicao do
filtro de reforo de altas freqncias sobre uma imagem mamogrfica pode ser visto na Figura 4.18.
A imagem fLP foi obtida aplicando-se o filtro da mdia com vizinhana 7 x 7.

(a)

(b)
51

Figura 4.18 Filtro de reforo de altas freqncias: (a) imagem mamogrfica [Fonte: The MiniMIAS Database of Mammograms, http://peipa.essex.ac.uk/info/mias.html]; (b) imagem com reforo
de altas freqncias, para c = 1,4.

4.7

OPERAES SEPARVEIS

Uma operao sobre um objeto n-dimensional separvel quando pode ser realizada pela aplicao
sucessiva de operaes unidimensionais a cada uma das dimenses do objeto. Uma operao
bidimensional separvel T[f(i,j)] pode ser efetuada em dois passos:
1. Aplica-se uma operao unidimensional sobre as linhas de f(i,j), produzindo uma
imagem g1(i,j)
2. Aplica-se uma operao unidimensional sobre as colunas de g1(i,j), produzindo a
imagem final g(i,j)
A ordem de aplicao (primeiramente nas linhas ou nas colunas) irrelevante. A decomposio de
operaes n-dimensionais em uma sucesso de operaes unidimensionais permite implementaes
computacionalmente muito mais eficientes. Deixa-se ao leitor a tarefa de verificar quais so as
operaes separveis apresentadas neste texto.

52

Captulo 5
Operaes Algbricas

As operaes n-rias produzem uma imagem de sada aplicando-se operaes soma, diferena,
multiplicao ou diviso pixel a pixel das imagens de entrada, com possvel envolvimento de
escalares, como ilustram os exemplos a seguir:
g(i, j) = f(i, j) + c (ou, simplificadamente, g = f + c)
g=f-c
g=f.c
g=f/c
g = f 1 + f2
g = f 1 - f2
g = f1 . f2
g = f1 / f2
g = f1 + f2 + ... + fn
g = c1 f1 + f2 / f3 - f1 / ( f4 f5) ... + c5fn fn
onde c e ci representam escalares. Na conveno aqui adotada, a operao g = f + c expressa a
adio do escalar c a cada pixel da imagem f, produzindo a imagem de sada g. Efeito idntico
obtido se considerarmos que a operao envolve a adio pixel a pixel da imagem f com uma outra
imagem de intensidade constante e igual a c. A mesma observao aplica-se s demais operaes
envolvendo escalares. Vistas desta forma, as operaes algbricas podem ser consideradas n-rias,
com n 2, de acordo com a classificao apresentada no incio do Captulo 4. Apresenta-se a seguir
algumas aplicaes envolvendo operaes algbricas com imagens.

53

5.1

DISSOLVE CRUZADO

O dissolve cruzado uniforme de duas imagens f e g uma nova imagem ht dada por
ht (i, j)= (1 - t) f(i, j) + t g(i, j)
onde o parmetro t um escalar no intervalo [0, 1], constante para cada dissolve.
Note-se que a imagem ht apresenta em cada ponto uma mdia ponderada das intensidades
dos pontos correspondentes em f e g. O parmetro t representa a proporo com que g contribui para
formar cada ponto de ht. Em particular, h0 = f e h1 = g. A Figura 1.1 ilustra o efeito para t = 0,3; t =
0,5; e t = 0,7.

(a)

(c)

(b)

(d)

(e)

Figura 5.1 Dissolve cruzado uniforme: (a) imagem f; (b) imagem g; (c) imagem h0,3;
(d) imagem h0,5; (e) imagem h0,7.
Em um dissolve cruzado no-uniforme t uma matriz com as mesmas dimenses de f e g
cujos elementos t(i, j) assumem valores no intervalo [0, 1]:
~
ht (i, j) = [1 - t(i, j)] f(i, j) + t(i, j) g(i, j)
Alguns exemplos de dissolve no uniforme podem ser vistos na Figura 5.2.

54

(a)

(b)

(c)

Figura 5.2 Dissolve cruzado no-uniforme sobre as imagens f e g da Figura 5.1. Imagem ht para (a)
t(i, j) = (i+j) / (R+C-2); (b) t(i, j) = j / (C-1); (c) t(i, j) = i / (R-1).

5.2

DETECO DE MOVIMENTO

Um vdeo uma sucesso temporal de imagens denominadas quadros. Assim, todas as tcnicas
descritas neste texto podem ser diretamente aplicadas aos quadros individuais de um vdeo. Esta
seo analisa o problema de detectar os objetos que se moveram entre dois quadros sucessivos de
um vdeo apresentando um cenrio estacionrio. A deteco de movimento encontra aplicaes
variadas, incluindo viso computacional e compresso de vdeo, sendo de fato um ponto
fundamental no esquema de compresso adotado no MPGE2, padro de vdeo mais usado na
atualidade.
Um problema mais genrico e de mesma natureza o de detectar objetos em movimento
entre duas fotografias ou imagens de um mesmo cenrio. Ao contrrio do vdeo, o intervalo de
tempo entre as duas imagens pode ser da ordem de segundos, minutos, horas, dias, meses, ou anos.
Em aplicaes astronmicas, por exemplo, o intervalo poderia em princpio ultrapassar algumas
dcadas.
Um mtodo simples para detectar objetos em movimento contra um fundo estacionrio entre
duas imagens f1 e f2 envolve a obteno da imagem diferena entre f1 e f2. Para realar as regies que
se deslocam e atenuar o rudo fotogrfico e de digitalizao, pode-se estabelecer um limiar Lt:
L 1, se | f1 f 2 | Lt
g=
0, caso contrario

55

f1

f2

f3

|f1 - f2|

g1

5.3

|f1 - f3|

g2

|g1 - g2|

REDUO DE RUDO POR MDIA DE IMAGENS

Em muitas aplicaes, possvel obter mltiplas imagens de cenas estacionrias. Se estas imagens
so contaminadas em todos o pontos por um rudo aleatrio aditivo de mdia n , com 0 n L1,
pode-se encontrar a imagem mdia com o objetivo de reduzir o rudo.
Considere-se uma imagem gk(i,j) formada pela adio de rudo nk(i,j) de mdia zero
imagem original f(i,j), ou seja
gk(i,j) = f(i,j) + nk(i,j)
A imagem obtida fazendo-se a mdia de M destas imagens ruidosas
g (i, j ) =

1
M

g k (i, j )
k =1

56

g (i, j ) =

1
M

[ f (i, j) + nk (i, j )]
k =1

g (i, j ) = f (i, j ) +

1
M

nk (i, j )
k =1

g (i, j ) = f (i, j ) + nM (i, j )


onde n M (i, j ) a mdia do rudo no ponto (i, j) nas M amostras tomadas. A medida que M aumenta,
n M (i, j ) se aproxima de n em todos os pontos da imagem, de forma que o rudo, neste exemplo
caracterizado como uma alterao aleatria da intensidade de cada pixel, substitudo por um
acrscimo quase constante na intensidade dos pixels. Fazendo-se uma mdia de muitas imagens
obtm-se uma imagem praticamente limpa (sem rudos), que talvez necessite apenas de uma simples
reduo no brilho.

57

Captulo 6
Operaes Topolgicas

As operaes topolgicas permitem efetuar alteraes nas coordenadas dos pixels de uma imagem.
Quando a operao introduz deformaes, o processo denominado de warping. Combinadas com
filtros de amplitude, que permitem efetuar alteraes nas intensidades dos pixels, as operaes
topolgicas podem produzir sofisticados efeitos de transio entre duas imagens, tais como a
transformao gradual (na forma e na cor) de um objeto de uma imagem em um objeto da outra
imagem. Este efeito de metamorfose denominado morphing.
Operaes topolgicas efetuam um mapeamento das coordenadas (i, j) dos pixels da imagem
de entrada para uma coordenada (i', j') na imagem de sada, com
i' =r(i, j), j' = s(i, j)
Por exemplo, a transformao
i' = j, j' = i
causa um rebatimento da imagem em torno da diagonal principal:
Imagem original

Imagem rebatida
pela diagonal

58

Uma rotao de -90o de uma imagem de dimenses R x C pode ser efetuada pela transformao
j' =R - 1 - i; i' = j
Imagem rotacionada
por 90o

Imagem original
2

Rotao e Rebatimento

Imagem Original

6.1

Rebatimento pela diagonal

Rotao de -90o

ROTAO

A operao de rotao de uma imagem por um ngulo em torno de um ponto (ic, jc) dada por:
i' = (i-ic) cos - (j-jc) sen + ic
j' = (i-ic) sen + (j-jc) cos + jc

6.2

EXPANSO E CONTRAO

Se p1 e p2 so pontos localizados em uma regio A de uma imagem contnua, uma transformao


topolgica T sobre A uma expanso se
|(T(p1) - T(p2)| > |p1 - p2|,

p1 , p2 A, p1 p2

onde |a - b| denota a distncia entre a e b.


59

Uma transformao topolgica T sobre A uma contrao se


|(T(p1) - T(p2)| < |p1 - p2|,

p1 , p2 A, p1 p2

Em termos simples, uma expanso aumenta e uma contrao reduz a distncia entre os pixels de A.
As definies de contrao e de expanso para imagens discretas so anlogas, mas os
arredondamentos nas coordenadas espaciais podem fazer com que a distncia entre alguns pares de
pixels no se alterem.
Uma transformao de contrao de uma linha de uma imagem contnua pode ser descrita
como:
j ' = s( j ) =

j jr
+ jr
F

onde 0 jr C-1, com C representando o valor mximo da coordenada j, e F 1 o fator de


contrao. Para entender a operao, representemos por j1 e j2, com j1 j2, as coordenadas de dois
pontos arbitrrios da linha antes da contrao. A distncia entre eles dada ento por j1 - j2. Aps a
contrao, o ponto na coordenada j1 levado para a coordenada (j1 jr)/F + jr, e o ponto na
coordenada j2 levado para a coordenada (j2 jr)/F + jr, de forma que a distncia entre os pontos se
torna (j2 j1)/F. Como F 1, a distncia se reduz, caracterizando a contrao. Uma anlise mais
cuidadosa da equao de contrao dada mostra que, aps a operao, todos os pontos da linha se
aproximam do ponto de coordenada jr.
Para imagens discretas, a contrao pode ser descrita como:
j jr

j ' = s ( j ) = round
+ jr
F

Agora, a contrao pode levar dois ou mais pixels mesma locao. Neste caso, pode-se atribuir a
esta locao um valor igual mdia dos pixels levados a ela.
Uma transformao de expanso de uma coluna de uma imagem contnua pode ser descrita
como:
i ' = r (i ) = F .(i i r ) + i r
onde 0 ir R -1, com R representando o valor mximo da coordenada i, e F 1 o fator de
expanso. Aps a expanso, todos os pontos da coluna se afastam do ponto de coordenada ir.
Para imagens discretas, a expanso pode ser descrita como:
i ' = r (i ) = round [ F .(i i r ) + i r ]
A expanso em imagens discretas pode criar espaos entre dois pixels que eram adjacentes na
imagem original. Estes espaos devem ser preenchidos por replicao de pixels ou por interpolao.
Para ilustrar os conceitos de contrao e expanso, considere-se a figura a seguir representa
os valores dos pixels de uma linha de uma imagem discreta.
20

10 20 30 20

Calculemos as coordenadas horizontais dos pixels aps a contrao com jr = 3,5 e F = 2:

60

0 3,5

s(0) = round
+ 3,5 = 2
2

1 3,5

s(1) = round
+ 3,5 = 2
2

2 3,5

s(2) = round
+ 3,5 = 3
2

4 3,5

s(4) = round
+ 3,5 = 4
2

6 3,5

s(6) = round
+ 3,5 = 5
2

3 3,5

s(3) = round
+ 3,5 = 3
2

5 3,5

s(5) = round
+ 3,5 = 4
2

7 3,5

s(7) = round
+ 3,5 = 5
2

Os pixels nas colunas 0 e 1 so levados pela contrao para a coluna 2, de forma que o valor do
pixel na coluna 2 na linha contrada a mdia dos valores destes dois pixels na linha original, ou
seja, (20 + 0)/2. Todos os demais mapeamentos mltiplos para uma mesma coluna podem ser
resolvidos da mesma maneira, e a linha contrada ser:
x

10 15 25

Os pixels marcados com x tm valor indefinido. Na prtica, poderia ser atribudo um valor prdefinido a estes pixels, tal como o nvel correspondente ao preto ou ao branco. Alternativamente, os
valores indefinidos poderiam ser calculados a partir dos valores definidos. Por exemplo, o primeiro
valor definido da linha, 10, poderia ser atribudo aos pixels que o antecedem, e o ltimo valor
definido da linha, 0, aos pixels que o sucedem.
A expanso na linha original, com os mesmos parmetros ir e F resulta em:
s(0) = round[2.(0 - 3,5) + 3,5] = -4
s(1) = -2
s(2) = 1
s(3) = 3
s(4) = 5
s(5) = 7
s(6) = 9
s(7) = 11
Se a linha expandida restrita mesma dimenso da linha original, os pontos mapeados para as
coordenadas horizontais 4, -2, 9 e 11 no aparecero na linha expandida, mas alguns podero ser
utilizados na interpolao destinada a preencher as descontinuidades causadas pela expanso. A
linha expandida, com os pontos interpolados mostrados em negrito, ficaria assim:
7

6.3

10 15 20 25 30 25 20

PINCH NA VERTICAL

Uma operao de warping conhecida como pinch pode ser obtida realizando uma contrao na linha
i = 0, 1, ... , R 1, com F = F(i) dado por:

61

F
Fmax

1
ip
Fmax 1
i + 1, se i i p
i
p

F=
Fmax 1 (i i ) + F ,
p
max
R 1 ip

R-1

se i > i p

Pinch Vertical

Fmax = 2, ip = R / 2

Fmax = 4, ip = R / 2

Fmax = 4, ip = 3R / 2

Um outro efeito interessante de pinch, que denominaremos pinch vertical nas bordas, obtido
efetuando uma contrao nas linhas da imagem com F = F(i) dado por:

F
Fmax

1
ip

R-1

62

Fmax 1
i + Fmax , se i i p
i
p

F=
Fmax 1 (i i ) + 1, se i > i
p
p
R 1 ip

63

Pinch Vertical nas Bordas

6.4

Fmax = 2, ip = R / 2

Fmax = 4, ip = R / 2

Fmax = 2, ip = 3R / 2

Fmax = 4, ip = 3R / 2

ZOOM

A operao de zoom permite ampliar uma imagem ou uma regio de uma imagem. O efeito pode ser
obtido de forma simples por replicao de pixels. Para obter uma ampliao de n vezes, o pixel nas
coordenadas (i, j) da imagem original replicado na imagem ampliada em uma rea quadrada com
vrtices em (i*n, j*n), (i*n + n -1, j*n), (i*n, j*n + n -1) e (i*n + n -1, j*n + n -1). Por sua prpria
natureza, o zoom por replicao de pixels produz o aparecimento de blocos claramente discernveis
na imagem ampliada, especialmente para valores elevados de n.
O zoom por interpolao bilinear evita o surgimento de blocos, gerando uma ampliao com
aspecto mais natural. O mtodo pode ser entendido observando-se o esquema abaixo, que representa
quatro pixels adjacentes na imagem original, situados nas coordenadas (i, j), (i, j+1), (i+1, j) e (i+1,
j+1).

64

(i, j)

(i, y)

(i, j+1)

(x,y)

(i+1, j)

(i+1, y)

(i+1, j+1)

Os nveis de cinza dos pixels nas coordenada (i, y) e (i+1, y), com y no intervalo [j, j+1], podem ser
calculado por interpolao linear:
f(i, y) = f(i, j) + (y j) [f(i, j+1) - f(i, j)]
f(i+1, y) = f(i+1, j) + (y j) [f(i+1, j+1) - f(i+1, j)]
Agora, o nvel de cinza do pixel em (x, y), com x no intervalo [i, i+1] e y no intervalo [j, j+1], pode
ser encontrado por interpolao linear entre nveis calculados nas coordenadas (i, y) e (i+1, y):
f(x, y) = f(i, y) + (x i) [f(i+1, y) - f(i, y)]
O processo completo acima descrito para clculo do nvel de cinza na coordenada fracionria (x, y)
denominado interpolao bilinear. Observe-se que as trs equaes de interpolao definem um
valor real para o nvel de cinza de um ponto situado em qualquer coordenada real dentro dos limites
da imagem. Em outros termos, as equaes acima permitem construir uma imagem analgica a
partir de uma imagem digital. Este tipo de operao comumente conhecido por reconstruo de
imagem.
A partir da interpolao bilinear, pode-se efetuar a operao de zoom atribuindo-se aos
pixels criados pela ampliao os valores na imagem analgica reconstruda, arredondados para o
inteiro mais prximo.
O zoom de ampliao ou aproximao, descrito acima, muitas vezes chamado de zoom in.
O zoom de reduo ou afastamento, zoom out, por um fator n, obtido particionando-se a imagem
em quadrados adjacentes de n x n pixels, e substituindo-se estes quadrados por um nico pixel na
imagem reduzida. O valor deste pixel pode ser a mdia dos valores dos pixels presentes no
quadrado, ou o valor de um nico pixel em uma dada posio do quadrado.
Zoom

65

Imagem original

Zoom por replicao de pixels

6.5

Zoom por interpolao bilinear

WARPING BASEADO EM CAMPOS

A operao de warping (deformao) permite alterar livremente a localizao dos pixels de uma
imagem. O warping encontra larga aplicao na indstria do entretenimento e na publicidade,
especialmente na criao de seqncias de animao e de efeitos especiais. A tcnica tambm
empregada na rea de realidade virtual; na correo de distores ticas ou projetivas; no
alinhamento de elementos da imagem, para fins de comparao; na operao de morphing, descrita
na Seo 6.6; na ampliao de imagens com preservao de fronteiras ntidas entre os objetos; no
registro de imagens (onde uma imagem distorcida de forma que ; etc.
No warping baseado em campos, caractersticas consideradas importantes (por exemplo,
nariz, boca, contorno da face) na imagem so marcadas por segmentos de retas orientados, que
denominaremos vetores-referncia. Para cada vetor-referncia, um vetor-alvo especificado. Se um
nico par de vetores referncia-alvo criado, o problema consiste em definir o ponto X na imagem
distorcida para onde um dado ponto X na imagem original ser levado, de forma que as relaes
espaciais entre X e o vetor-alvo seja idntica quelas entre X e o vetor-referncia. No warping
tratado nesta seo, as relaes espaciais que devem ser preservadas so mostradas na prxima
figura.

66

X
v

v
O

u
P
P
Imagem original

Imagem distorcida

Os parmetros u e v, precisamente definidos nos prximos pargrafos, estabelecem as relaes


espaciais a serem preservadas. O parmetro u representa o deslocamento de P at O no sentido do
vetor PQ, dividido por ||P Q||. Assim, se O = P, u = 0; se O = Q, u = 1; se O est situado entre P e
Q, 0 < u < 1; se O est situado aps o ponto Q, u >1 e, se est situado antes do ponto P, u < 0. O
parmetro v representa a distncia entre o ponto X e a reta que contem o segmento PQ.
Dado o valor de u, a especificao de um valor no nulo para v define dois pontos,
localizados direita e a esquerda do segmento PQ. A ambigidade pode ser eliminada
convencionando-se atribuir a v um sinal positivo se o ponto X estiver localizado direita do
segmento PQ; caso contrrio, o sinal atribudo negativo.
O ponto X pode ser encontrado aplicando-se as frmulas:
u=

v=

( X P ) (Q P)
|| Q P || 2

( X P) (Q P)
|| Q P ||

X ' = P'+u.(Q' P' ) +

v. (Q' P' )
|| Q' P' ||

onde V representa um vetor perpendicular a V e de mesmo mdulo que este. A ambigidade no


clculo de v encontra-se exatamente na especificao de V , uma vez que h dois vetores
perpendiculares a V e de mesma dimenso que este, que diferem apenas no sentido. A conveno de
considerar positivo o sentido direita do segmento PQ elimina a ambigidade.
Quando h mais de um par de vetores referncia-alvo, o problema um pouco mais complexo.
Nesta situao, cada ponto da imagem sofrer a influncia de todos os pares de vetores. Neste caso,
ser em geral encontrado um ponto diferente para cada par de vetores referncia-alvo. A prxima
figura ilustra o problema para dois pares de vetores, (P0Q0, P0Q0) e (P1Q1, P1Q1).

67

Q1

u1

v1

Q1
X1
X

Q0
v0

P1
X

v1
u1

Q0
P1

v0

u0

X0
u0
P0
P0

Imagem original

Imagem distorcida

Os diferentes pontos para os quais o ponto X da imagem original levado por cada par de vetores
referncia-alvo so combinados por intermdio de uma mdia ponderada, produzindo o ponto X
para onde X ser efetivamente levado. O peso wi com que o segmento PiQi contribuir para a
produo de X mantm uma relao inversa com a distncia entre a reta e o ponto X:
lp
wi = i
a+d
i

onde li = ||Pi - Qi||; d a distncia entre X e o segmento PiQi; e a, b e p so parmetros no negativos


descritos a seguir.
O parmetro a define a aderncia do segmento: valores de a prximos a zero fazem com que
o segmento tenha um peso muito elevado sobre pontos prximos a ele e, conseqentemente, exera
uma forte influncia sobre estes pontos. Se a = 0, o segmento ter peso infinito na determinao das
alteraes de coordenadas dos pontos localizados sobre ele, o que significa estes pontos
permanecero sobre o segmento aps a transformao. Valores elevados de a deixam os pontos
prximos ao segmento, e at mesmo sobre o prprio segmento, mais susceptveis ao dos outros
segmentos.
O parmetro p controla a importncia do tamanho do segmento nas alteraes de
coordenadas. Se p = 0, o peso independe do tamanho do segmento. Se p 0, quanto maior o
68

segmento maior o peso a ele associado. Quanto maior o valor de p, maior a influncia do tamanho
do segmento nas deformaes.
Finalmente, b controla a forma com que a influncia do segmento sobre um dado ponto
decresce em funo da distncia. Se b = 0, o peso independe de d e, quanto maior b, mais drstica
a taxa de decrescimento em funo de d.
Experimentos com os parmetros mostram que bons resultados, em termos de qualidade
visual e tempo de processamento, so obtidos com a = 0 ou a = 1, b = 2 e p = 0 ou p = 1.
Apresenta-se a seguir o pseudo-cdigo apresentado no artigo
Feature-Based Image Metamorphosis , publicado no Siggraph '92
por Thaddeus Beier and Shawn Neely, para o clculo de X. Observese que o pseudo-cdigo apresentado utiliza mapeamento reverso.
For each pixel X in the destination image
DSUM = (0,0)
weightsum = 0
for each line PiQi
calculate u, v based on PiQi
calculate Xi based on u, v and PiQi
calculate displacement Di = Xi-Xi for this line
dist = shortest distance from X to PiQi
weight = [lengthp / (a+dist)]b
DSUM += Di * weight
weightsum += weight
X = X + DSUM / weightsum
destinationImage(X) = sourceImage(X)

6.6

MORPHING BASEADO EM CAMPOS

O morphing (metamorfose) essencialmente uma tcnica de interpolao de formas e cores entre


duas imagens distintas, aqui identificadas por f0 e fN-1. O objetivo encontrar as imagens
intermedirias f1, f2, ..., fN-2, de maneira a gerar uma transio gradual entre f0 e fN-1. Assim, a
imagem interpolada fk, k = 1, 2, ..., N-2, afasta-se progressivamente de f0 e aproxima-se
progressivamente de fn-1 medida que k aumenta de 1 at N-2. O morphing utilizado na criao de
efeitos especiais na publicidade e na indstria cinematogrfica; em realidade virtual; em compresso
de vdeo; etc.
Da forma anloga operao efetuada no warping baseado em campos, no morphing
baseado em campos as caractersticas consideradas importantes na imagem f0 so marcadas por v
vetores de referncia, que representaremos por ai, i = 1, 2,..., v. Para cada vetor-referncia em f0, um
vetor-referncia bi especificado em fN-1. Para cada imagem interpolada fk, k = 1, 2, ..., N-2, e para
cada par de vetores ai-bi, um novo vetor, que denominaremos vetor-alvo, representado por cki,
criado por interpolao entre os vetores do par ai-bi. Efetua-se ento um warping sobre f0 usando os
pares ai-cki, e um warping sobre fN-1 usando os pares bi-cki. Se desejarmos gerar, por exemplo, nove
imagens interpoladas, deveremos gerar nove vetores-alvo interpolados para cada par de vetores ai-bi
especificados nas imagens f0 e f10. A figura seguinte ilustra graficamente o procedimento.

69

Warping de f0

cki
f0

fN-1

ai

bi
+
Warping de fN-1

cki

ai

c1i

c2i

c3i

c4i

c5i

c6i

c7i

c8i

c9i

bi

As duas imagens geradas pelo warping duplo para um dado k so combinadas com a
operao de dissolve cruzado uniforme para gerar a imagem interpolada fk, k = 1, 2, ..., N-2. Para
uma metamorfose realista, o peso de f0 no dissolve deve decrescer (linearmente, por exemplo)
medida que k aumenta de 1 at N-2.
O parmetro peso do dissolve seria t = 0,1 para f1; t = 0,2 para f2; t = 0,3 para f3 e assim por diante.
Morphing = Warping + Dissolve

70

71

Morphing

72

Captulo 7
Transformadas

Em algumas situaes mais conveniente aplicar-se uma operao matemtica genericamente


denominada de transformada sobre um sinal a ser processado, convertendo-o para o domnio da
freqncia, efetuar o processamento do sinal neste domnio, e finalmente converter o sinal
processado para o domnio original.
A teoria das transformadas representa um papel dos mais importantes na rea de
processamento de sinais e imagens. As transformadas geram um conjunto de coeficientes a partir
dos quais possvel restaurar as amostras originais do sinal. Neste captulo sero apresentadas duas
transformadas muito utilizadas para converso de sinais n-dimensionais para o domnio da
freqncia.

7.1

TRANSFORMADA COSSENO DISCRETA

Se x[n], n = 0, 1,..., N-1, so os elementos de uma seqncia x, a DCT unidimensional de x


gera uma seqncia X cujos coeficientes X[k] k = 0, 1,..., N -1, so dados por:
2
X [k ] =
N

1/ 2

ck

N 1

( 2 n + 1) k
, k = 0 ,1,...,N 1
2N

x[n ] cos

n =0

onde
(1/2 )1/2
ck =
1

para k = 0
para k = 1, 2, ...N - 1
73

Esta operao leva vetores de um determinado domnio (comumente, do domnio do tempo


ou do espao) para o chamado domnio da freqncia. O coeficiente X[0], que representa a
componente de freqncia zero e est relacionado diretamente com o valor mdio de x, conhecido
como coeficiente DC (de direct current); os demais so os coeficientes AC (de alternating current).
A seqncia x pode ser recuperada aplicando-se a X a DCT inversa:
2
x[n ] =
N

1 / 2 N 1

(2n + 1)k
, n = 0,1,...,N 1
2N

c k X [k ] cos

k =0

H diversos algoritmos para o clculo eficiente da DCT, mas, ainda assim, o custo computacional
quando a seqncia x contm muitos elementos pode ser elevado.

7.2

TRANSFORMADA DE FOURIER DISCRETA DE FUNES DE UMA VARIVEL

A Transformada de Fourier Discreta (DFT), F[u], u = 0,1, ... N-1, de uma funo discreta
unidimensional s[n], n = 0,1,... N -1 dada por:
1
F [u ] =
N

N 1

s[n ]e

j 2un
N

, u = 0, 1, ..., N-1

n =0

com

e j

j = 1
e
= cos j sen

A operao transforma os N elementos da funo discreta em N elementos denominados


coeficientes. Note-se que os coeficientes da DFT so, em geral, complexos, mesmo quando s[n]
real. A operao inversa, que permite reconstruir a funo s[n] a partir dos coeficientes F[u],
conhecida como transformada de Fourier discreta inversa (IDFT):
s[n ] =

N 1

F [u ]e

j 2un
N

, n = 0, 1, ..., N-1

u =0

O mdulo do coeficiente F[u] indica a importncia com que o termo de freqncia u/N contribui
para a formao de s[n]. Quanto maior o mdulo de F[u], maior a importncia da componente de
freqncia fu = u/N em s[n]. O coeficiente F[0] representa a contribuio da componente de
freqncia zero, ou seja, representa um nvel constante, e est diretamente relacionado com a mdia
de s[n]. Por analogia com os circuitos de corrente direta e alternada, F[0] denominado
componente DC (de direct current), e os demais coeficientes so os componentes AC (de
alternating current). Observe-se tambm que todas as freqncias das exponenciais complexas que
constituem os termos do somatrio da IDFT so mltiplas da freqncia fundamental f1 = 1/N. O
mdulo da transformada de Fourier denominado espectro de Fourier.
Na anlise que se segue, consideraremos que o sinal original funo do tempo. A extenso
dos resultados para outros domnios imediata.
74

Seja x o perodo de amostragem, ou seja, o tempo, medido em segundos, entre duas


amostras consecutivas de f[n]. A taxa de amostragem , portanto, fa = 1/ x Hertz. As N amostras
do sinal equivalem a N x segundos e, assim, a freqncia fundamental f1 = 1/N pode ser expressa
em segundos substituindo-se N por N x :
f1 =

f
1
= a s
Nx N

A DFT peridica de perodo N:


F [u + N ] =

1
N

N 1

f [n ]e j 2 ( u + N ) n / N =

n =0

1
N

N 1

s[n ]e j 2un / N

= F (u )

n =0

Se f[n] real, pode-se demonstrar facilmente que |F[u]| = |F[-u]|, ou seja, o espectro de Fourier
simtrico com relao ao eixo |F[u]|. Da periodicidade e da simetria conclui-se que o grfico de
|F[u]| assemelha-se ao grfico abaixo:
|F[u]|

-N/2

N/2

N-1

Assim, na DFT, as amostras 0, N, 2N,..., correspondem freqncia zero, enquanto que N/2,
3N/2, ..., correspondem maior freqncia possvel. Esta freqncia mxima , portanto, N/2
vezes maior que o valor da freqncia fundamental 1/(N x ). Assim, dada a freqncia de
amostragem fa = 1/ x , a freqncia mxima em Hz dada por:
fmax =

f
N 1
= a
2 Nx
2

O fato de o eixo u representar freqncias crescentes at N/2 e decrescentes de N/2 a N-1 dificulta a
anlise visual do espectro, de forma que mais comum exibir o grfico de |F[u]| no intervalo [-N/2,
N/2], interpretando-se as freqncias negativas como uma mera convenincia matemtica.

7.3

TRANSFORMADA DE FOURIER DISCRETA DE FUNES DE DUAS VARIVEIS

A DFT pode ser facilmente estendida para o caso de funes bidimensionais:


F [u , v ] =

1 C 1 R 1
s[m, n ]e j 2 (um / C + vn / R ) ,
RC m =0n =0

com
u = 0, 1, ..., R -1
75

v = 0, 1, ..., C -1
A IDFT bidimensional dada por:
s[m, n ] =

C 1 R 1

F [u, v ]e j 2 ( um / C + vn / R ) ,

u =0 v =0

m = 0, 1, ..., R -1
n = 0, 1, ..., C -1
A DFT uma operao separvel, e consideraes anlogas quelas feitas para a DFT de funes de
uma varivel continuam vlidas, com as devidas adaptaes para o caso bidimensional. Agora, por
exemplo, a DFT peridica com perodo R na horizontal e com perodo C na vertical e, se s(m, n)
real, |F[u, v]| = |F[u,-v]| = |F[-u,v]| = |F[-u,-v]|.
Para inspeo visual, interessante exibir o espectro de Fourier de funes bidimensionais
como uma imagem, com coeficientes de valores mais elevados aparecendo como pontos mais
claros. A converso dos valores do espectro para valores permitidos de nveis de cinza pode ser
efetuada como abaixo:
Fim[u, v] = round[(L - 1)|F[u, v]| /F max]
onde L o nmero de nveis de cinza permitido e Fmax o valor mximo de |F[u,v]|.
Comumente, os espectros de Fourier decaem rapidamente com a freqncia e, assim, as
componentes de alta freqncia so obscurecidas na exibio, aparecendo como pontos pretos. Para
melhorar a visualizao destas componentes e obter valores adequados a uma imagem digital, podese criar a imagem
Flog[u, v] = round[(L - 1) log(1+|F[u, v]|)/Fmax2]
onde Fmax2 o maior valor presente em log(1+|F[u, v]|). Observe-se que esta frmula preserva os
zeros de |F[u,v]|, pois Flog[u, v] = 0 quando |F[u,v]| = 0.
Dadas as caractersticas de simetria e periodicidade da DFT bidimensional, normalmente
mais fcil analisar o espectro deslocando-se Fim[u, v] ou Flog[u, v] de forma a posicionar o ponto de
freqncia zero no centro da imagem.

76

Exibio do Espectro de Fourier

Imagem Original

Espectro Fim

Espectro Fim deslocado

Espectro Flog deslocado

Alguns Espectros de Fourier


(deslocados)

Imagem Quad60x60

Espectro Flog de Quad60x60

77

Imagem Retan20x256

Espectro Flog de Retan20x256

Imagem Retan20x100

Espectro Flog de Retan20x100

Imagem Bola1

Imagem Bola2

Espectro Flog de Bola1

Espectro Flog de Bola2


78

Imagem sin4pi

Negativo de espectro Flog de sen4pi

Imagem sen128pi

Negativo de espectro Flog de sen4pi

Space

Espectro Flog de Space

Zebra

Espectro Flog de Zebra

79

KingTut

Espectro de KingTut

SpaceSen

7.4

Espectro de SpaceSen

FILTRAGEM NO DOMNIO DA FREQNCIA

Conforme visto em captulos anteriores, as operaes de filtragem no domnio do espao podem ser
implementadas com o uso de vizinhanas deslizantes, tambm denominadas mscaras
convolucionais ou resposta ao impulso. Se G(u,v) a DFT de g(m,n), F(u,v) a DFT de s[m,n] e
H[u,v] a DFT de h[m,n], pode-se mostrar que, se g [m, n ] = s[m, n ] h[m, n ] , ento G[u,v] =
H[u,v]F[u,v]. Este resultado conhecido como teorema da convoluo, e a transformada H[u,v]
denominada funo de transferncia do filtro. A partir do teorema da convoluo, definem-se todos
os tipos fundamentais de filtros no domnio da freqncia, apresentados a seguir.
7.4.1

Filtros Passa-Baixas

Um filtro passa-baixas apresenta uma funo de transferncia H[u,v] que atenua as componentes de
alta freqncia de F[u,v] e preserva suas componentes de baixa freqncia. Seja

D(u, v) = u 2 + v 2
Um filtro passa-baixas bidimensional ideal (ILPF) possui a funo de transferncia.

1 se D(u,v) D0
H [u , v] =
0 caso contrrio
D0 corresponde freqncia de corte do filtro.
80

A filtragem por um ILPF seguida pela transformada inversa resulta em uma imagem suavizada
que freqentemente apresenta um efeito indesejvel denominado ringing. O ringing um efeito
oscilatrio causado pela descontinuidade da funo de transferncia do filtro. Este efeito
praticamente eliminado com o uso de filtros suaves, como o de Butterworth. A funo de
transferncia do filtro passa-baixas de Butterworth (BLPF) de ordem n e freqncia de corte a uma
distncia D0 da origem :

H [u, v] =

1 + [D(u , v) / D0 ]

2n

Da frmula acima, percebe-se que H(0,0) = 1 o maior valor de H(u, v) e, quando D(u, v) = D0,
H(u, v) = 0,5. Assim, D0 a distncia da origem onde H(u, v) apresenta a metade do seu valor
mximo.
7.4.2

Filtros Passa-Altas

Um filtro passa-altas apresenta uma funo de transferncia H(u, v) que atenua as componentes de
baixa freqncia de F(u, v) e preserva suas componentes de alta freqncia. Um filtro passa-altas
bidimensional ideal (IHPF) possui a funo de transferncia

0 se D(u,v) D0
H (u, v) =
1 caso contrrio
A funo de transferncia do filtro passa-altas de Butterworth (BHPF) de ordem n e freqncia de
corte a uma distncia D0 da origem :
1
H (u, v) =
1 + [D0 / D(u, v)]2 n
7.4.3

Filtros Passa-Faixa

Um filtro passa-faixa apresenta uma funo de transferncia H(u,v) que preserva as componentes de
uma faixa de freqncias intermedirias de F(u, v) e atenua as demais. Um filtro passa-faixa
bidimensional ideal (IBPF) que elimina todas as componentes de freqncia exceto aquelas situadas
em uma vizinhana de raio D0 centrada em um ponto (u0,v0) possui a funo de transferncia

1 se (u u ) 2 + (v v ) 2 D ou
0
0
0
H (u, v) =
0 caso contrario

(u + u 0 ) 2 + (v + v0 ) 2 D0

Um IBPF bidimensional que elimina todas as componentes de freqncia exceto aquelas situadas
em uma faixa circular centrada na origem, anloga da figura seguinte, possui a funo de
transferncia
0 se u 2 + v 2 < D W / 2
0

H (u , v) = 1 se D0 W / 2 u 2 + v 2 D0 + W / 2

2
2
0 se u + v > D0 + W / 2

81

D0 - W/2
Banda
preservada

7.4.4

D0 +W/2
u
D0

Filtros Corta-Faixa

Um filtro corta-faixa ou rejeita-faixa apresenta uma funo de transferncia H(u,v) que atenua as
componentes de uma faixa de freqncias de F(u, v) e preserva as demais. Os filtros corta-faixa
ideais (IBRF) em torno da origem e em torno de um ponto arbitrrio so o inverso dos IBPF, e
podem ser facilmente obtidos da funo de transferncia destes.

82

Filtros No Domnio da Freqncia

Imagem original

Espectro filtrado, ILPF, D0 = 8

Espectro

Imagem filtrada, ILPF, D0 = 8 Imagem filtrada, ILPF, D0 = 16

Espectro filtrado, IHPF, D0 = 4

Imagem filtrada, IHPF, D0 = 4

83

Filtros No Domnio da Freqncia

Imagem original

Imagem original

Espectro filtrado, IBRF, D0 = 3

Espectro filtrado, IBRF

Imagem filtrada, IBRF, D0 = 3

Imagem filtrada

84

Você também pode gostar