Beruflich Dokumente
Kultur Dokumente
Fundamentos de
SUMRIO
13
21
21
25
34
34
38
44
49
50
52
53
Conveno de eixos:
y
Origem (0,0)
f(x,y)
x
Uma imagem digital pode ser considerada como sendo uma matriz cujos ndices
de linhas e colunas identificam um ponto na imagem e o correspondente valor do
elemento da matriz identifica o nvel de cinza naquele ponto. Os elementos dessa matriz
digital so chamados de elementos da imagem, pixel ou pel (abreviao de picture
elements).
Exemplo:
Problema
Aquisio
Pr-processamento
Segmentao
Base de
Conhecimento
Extrao de
Caractersticas
Reconhecimento e
Interpretao
Resultado
Comunicao
Exibio
Aquisio
Processamento
Monitores de Vdeo
Cmeras de Vdeo
Computador
Impressoras
Scanners
Plotters
Discos pticos
Discos Magnticos
Armazenamento
Fitas Magnticas
Videotape
f ( x, y )
a) 256 x 256
b) 128 x 128
c) 64 x 64
d) 32 x 32
02 REALCE DE IMAGENS
(a)
(b)
(c)
A figura (a) os pixels esto concentrados nos valores mais baixos da escala de
cinza, caracterizando uma imagem escura. A figura (b) apresenta grande concentrao
de pixels nos valores prximos ao limite superior da escala de cinza, caracterizando uma
imagem clara. Na figura (c), os pixels esto bem distribudos ao longo de toda a escala
de cinza, caracterizando uma imagem com bom contraste.
Cada elemento do histograma calculado como:
hi
ni
nt
Onde:
Nvel de cinza i
ni
hi
2500
0,25
2500
0,25
2000
0,2
1000
0,1
800
0,08
600
0,06
400
0,04
200
0,02
Total
10000
h 1
i
i 0
A figura abaixo apresenta o grfico do histograma para a imagem com oito nveis
de cinza (tabela acima):
10
Nota-se, por meio do histograma, que se trata de uma imagem escura, devido
concentrao de pixels nos valores mais baixos da escala de cinza.
Aps toda imagem ter sido percorrida, cada elemento do vetor h conter a
quantidade de pixels em cada nvel de cinza. Os valores do vetor h podero ser
normalizados, dividindo cada um deles pelo total de pixels da imagem. Em linguagem
algortmica, os passos descritos acima ficam:
h0
para i de 0 at linha-1
para j de 0 at coluna-1
h(f(i,j)) h(f(i,j)) + 1
fim_para
fim_para
11
Exemplo Prtico: seja a imagem de 5 x 5 pixels, com oito nveis de cinza, calcular seu
histograma, apresentando a tabela e o grfico correspondente.
0
6
3
7
1
4
5
2
1
7
5
6
7
0
4
7
5
2
6
0
3
3
1
7
6
Tabela do Histograma:
Nvel de cinza i
ni
hi
0,12
0,12
0,08
0,12
0,08
0,12
0,16
0,2
Total
25
12
Grfico do Histograma
Como os pixels do grfico acima esto bem distribudos aos longo da escala de
cinza, conclui-se que a imagem apresente um bom contraste.
Imagem Original
Computao Grfica - Processamento de Imagens
Imagem Equalizada
13
gi
ni
j 0 nt
( M 1)
( M 1) h j
j 0
Nvel de cinza i
ni
hi
2500
0.25
2500
0.25
2000
0.20
1000
0.10
800
0.08
0,1
600
0.06
0,05
400
0.04
200
0.02
0,25
0,2
0,15
Total
10000
g0 = 7(0.25) = 1.75
g1 = 7(0.25 + 0.25) = 7(0.5) = 3.5
g2 = 7(0.25 + 0.25 + 0.2) = 7(0.7) = 4.9
g3 = 7(0.25 + 0.25 + 0.2 + 0.1) = 7(0.8) = 5.6
g4 = 7(0.25 + 0.25 + 0.2 + 0.1 + 0.08) = 7(0.88) = 6.16
g5 = 7(0.25 + 0.25 + 0.2 + 0.1 + 0.08 + 0.06) = 7(0.94) = 6.58
g6 = 7(0.25 + 0.25 + 0.2 + 0.1 + 0.08 + 0.06 + 0.04) = 7(0.98) = 6.86
g7 = 7(0.25 + 0.25 + 0.2 + 0.1 + 0.08 + 0.06 + 0.04 + 0.02) = 7(1) = 7
14
g0 = 2
Os 2500 pixels que apresentavam o tom de cinza 1 foram remapeados para o tom
de cinza 4:
g1 = 4
15
g5 = 7
g6 = 7
g7 = 7
Nvel de cinza i
ni
hi
2500
0,25
0.25
0,2
0,15
2500
0.25
0,1
2000
0.20
0,05
1800
0.18
0
0
1200
0.12
Total
10000
16
Exerccios
100 pixels,
nvel 6 =
250 pixels,
nvel 9 =
250 pixels
100 pixels,
nvel 6 =
350 pixels,
nvel 9 =
350 pixels
200 pixels,
nvel 6 =
350 pixels,
nvel 9 =
350 pixels
17
255
( f f min )
( f max f min )
onde fmax e fmin so, respectivamente, os nveis de cinza mximo e mnimo presentes na
imagem original.
Imagem Original
18
g(x,y) = P[f(x,y)]
Na maioria dos casos, o mapeamento dos nveis de cinza de uma imagem para
outra, depende somente dos pixels da imagem original. Desta forma, a equao anterior
pode ser reescrita como uma funo dos nveis de cinza da imagem de entrada:
g = P(f)
onde f o nvel de cinza (ou pixel) da imagem original e g o nvel de cinza da imagem
modificada. Para se usar a equao anterior, a imagem lida pixel a pixel e a
transformao aplicada em cada um.
Considerando-se a seguinte transformao linear:
g = cf + b
Exemplos:
19
Aplicao prtica:
Imagem Original
c=1
b = 32
c=2
b=0
Exerccios:
1) As matrizes 3x3 abaixo apresentam dois trechos de imagens com 256 tons de cinza:
200 100 100
A 0
10 50
50 250 120
B 45 95 120
205 100 0
51
( f 15)
40
sobre a matriz A.
2
5
0
0
5
2
2 5 0 0 5 2 6
6 0 4 4 0 6 2
0 6 1 1 6 0 5
4 1 6 6 1 4 0
4 1 6 6 1 4 0
0 6 1 1 6 0 5
6 0 4 4 0 6 2
2 5 0 0 5 2 6
20
3.1 THRESHOLD
g ( x, y )
255
se f ( x, y ) T
(1)
se f ( x, y ) T
Objeto
Fundo
Objeto
Fundo
21
Exemplo:
f =
22
Tabela do Histograma
Nvel i
ni
hi
0,16
0,20
0,12
0,12
0,04
0,12
0,16
0,08
Total
25
Grfico do Histograma:
0,2
0,15
0,1
0,05
0
0
23
g =
24
25
hmax
ymax
Nvel i
ni
hi
yi
0,16
0,16
0,20
0,12
0,12
0,12
0,48
0,04
0,36
0,12
1,92
0,16
0,08
2,88
Threshold = 4
g ( x, y )
7
g =
se f ( x, y ) 4
26
Passo 1: Selecionar uma primeira estimativa para o limiar. Um valor razovel a mdia
entre os pixels da imagem.
1 2
2
27
1 Iterao
2 Iterao
Cor
ni
hi
ni*cor
ni*cor
ni*cor
ni*cor
ni*cor
0,16
15
0,20
15
24
0,12
24
14
0,12
14
0,04
mdia
mdia
0,12
15
mdia
mdia
0,16
24
0,08
14
T=4
T=4
mdia
Threshold = 4
g ( x, y )
7
g =
se f ( x, y ) 4
28
Exemplo Prtico:
29
Exerccios
30
4.1 CENTROIDE
xc
1
A
yc
i 1
1
A
y
i 1
Onde:
Exemplo:
0
0
1
2
3
4
5
6
- dos pixels em x:
3 + 2 + 3 + 4 + 1 + 2 + 3 + 4 + 5 + 2 + 3 + 4 + 3 = 39
- dos pixels em y:
2 + 1 + 2 + 3 + 0 + 1 +2 +3 + 4 +1 + 2 + 3 + 2 = 26
31
- rea do objeto:
xc
39
3
13
yc
26
2
13
centroide = (3,2)
4.2 DISTNCIAS
q(0, 7)
s t
1
2
p(3, 0)
x y
De ( p, q )
x s 2 y t 2
3 02 0 7 2
9 49
7,616
32
max 3 0 , 0 7
max 3, 7 7
Exerccios:
1) Suponha que a matriz abaixo representa uma imagem em tons de cinza.
0
1
2
3
4
5
6
7
8
9
4
0
2
2
3
4
0
0
0
4
4
5
2
4
3
5
4
4
1
1
4
4
2
0
2
1
1
2
0
5
4
1
1
10
10
10
15
11
5
4
0
4
1
14
9
9
10
15
2
0
2
5
3
15
10
12
9
12
2
3
5
3
2
12
15
13
12
14
4
4
5
3
1
14
15
14
14
15
1
1
5
3
4
3
1
5
4
4
1
3
3
4
3
3
1
5
0
4
5
3
29
30
31
32
33
34
84
85
86
87
88
89
90
33
5 FILTRAGEM DE IMAGENS
-1
0
1
-2
0
2
gx
-1
0
1
-1
-2
-1
0
0
0
gy
1
2
1
34
Exemplo:
Imagem Original
35
Para a deteco de bordas, o mtodo mais simples que existe talvez seja o
operador gradiente de Roberts o qual pode ser descrito utilizando duas mscaras,
resultando em um valor de gradiente para a primeira diagonal, gx, e um valor para a
segunda diagonal, gy:
0
0
0
0
1
0
gx
0
0
-1
0
0
0
0
0
-1
gy
0
1
0
Exemplo:
Imagem Original
36
5.1.3 Prewitt
-1
0
1
-1
0
1
gx
-1
0
1
-1
-1
-1
0
0
0
gy
1
1
1
Exemplo:
Imagem Original
5.1.4 Laplaciano
0
-1
0
-1
4
-1
0
-1
0
Exemplo:
Imagem Original
Laplaciano
37
w z
i i
i 1
Onde:
wi = coeficiente da mscara
zi = coeficiente da imagem
A operao realizada pela equao acima chamada de convoluo. A seguir,
sero descritos os filtros mais conhecidos para a suavizao de imagens no domnio
espacial.
A forma mais simples de se implementar este filtro construir uma mscara 3x3
com todos os coeficientes iguais a 1, dividindo o resultado da convoluo por um fator
de normalizao, neste caso, 9. Um filtro com estas caractersticas denominado filtro
da mdia. A seguir, so apresentados exemplos de filtros da mdia com dimenses 3x3,
5x5 e 7x7:
38
1
1
1
25
1
1
1 1 1
1
1 1 1
9
1 1 1
1
1
1
1
49
1
1
1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
Exemplo: supor que o pixel central do trecho da imagem abaixo represente um rudo.
Vamos aplicar sobre este pixel o filtro da mdia com mscara 3x3.
7
7
7
7
7
1
1
1
7
7
7
7
1
7
16
1
1
Fazendo a convoluo z wi z i
i 1
Pode-se observar que o rudo foi atenuado, pois com a aplicao do filtro da
mdia sobre o pixel central da imagem, o valor deste pixel ficou mais prximo do valor
dos pixels vizinhos.
39
Exemplo:
Imagem Original
Uma das principais dificuldades encontradas no filtro da mdia que ele desfoca
bordas e outros detalhes da imagem. Se o objetivo for alcanar a reduo de rudos, usase o filtro da mediana.
O filtro da mediana no computado atravs de mscaras de convoluo, mas
sim, atravs de uma janela 3x3, 5x5 ou 7x7, por exemplo. O pixel a ser afetado e seus
vizinhos dentro da janela precisam ser arranjados em um vetor e, ento, classificados de
acordo com o valor da intensidade. O elemento central ou mediano do vetor classificado
selecionado como o novo valor do pixel central.
Exemplo: supor que o pixel central do trecho da imagem abaixo represente um rudo.
Vamos aplicar sobre este pixel o filtro da mediana com mscara 3x3.
16
janela
16
40
16
PASSO 3: Escolher o elemento central do vetor como o novo valor do pixel central:
z = V[4]
z=7
Matriz resultante:
Exemplos:
Imagem Original
41
Neste mtodo, uma variao da filtragem pela mdia, o pixel central substitudo
pela mdia dos k-vizinhos, cujas amplitudes mais se aproximam da amplitude do pixel
central. Seu objetivo evitar incluir no clculo da mdia valores que possam estar sob a
janela em decorrncia de bordas ou regies de alto contraste. Quanto maior o valor de k,
mais este filtro se aproxima do filtro da mdia.
Exemplo: seja o trecho de uma imagem abaixo, aplicar o filtro dos k-vizinhos mais
prximos no pixel central, utilizando janela 3x3 e k = 4.
janela
42
{3, 4, 5, 6}
- Calculando a mdia:
3 45 6
18
4
4
- Imagem resultante:
Exerccio: Considere o trecho de imagem 5x5 a seguir. Seja o pixel central o pixel de
referncia. Fornea o valor do pixel central caso a imagem seja processada:
121
20
198
84
87
188 189
99
88
115 134
49
19
16
18
187
98
12
103
15
175
38
43
A opn B = C
onde opn um operador aritmtico (+, -, / e *) ou lgico (AND, OR, NOT, etc.), A e B
podem ser imagens (matrizes) ou escalares e C obrigatoriamente uma matriz.
Sejam duas imagens A e B de igual tamanho. Estas imagens podem ser
processadas pixel a pixel, utilizando um operador aritmtico ou lgico, produzindo uma
terceira imagem C, cujos pixels correspondem ao resultado de A opn B para cada
elemento de A e B, conforme ilustra o esquema abaixo:
opn
Como exemplo, a figura abaixo mostra a subtrao entre duas matrizes (imagens),
detectando uma alterao na cena.
44
Exemplo:
45
Soluo:
(b) Fazendo com que a escala [45, 350] seja adequada ao intervalo [0, 255], utilizandose a relao:
255
( f f min )
f max f min
255
( f 45)
(350 45)
51
( f 45 )
61
obtm-se:
213 230 238
0 50 105
175 255 63
46
Operao
Adio
Subtrao
Multiplicao
Diviso
Um algoritmo simples que ilustra a subtrao de duas imagens, pode ser escrito da
seguinte forma:
47
EXERCCIO:
48
7 TRANSFORMAES GEOMTRICAS
Transformaes geomtricas so operaes de processamento de imagens cujo
principal efeito a alterao da posio espacial dos pixels que a compem. Elas
costumam ser teis em situaes que vo desde a correo de distores at a produo
de efeitos artsticos sobre imagens. Sero vistos os seguintes tipos de operaes
geomtricas:
- Ampliao (zoom)
- Escala
- Translao
- Rotao com ngulo de 90
- Rotao com ngulos arbitrrios
- Rotao em torno de um eixo horizontal (flip horizontal)
- Rotao em torno de um eixo vertical (flip vertical)
7.1 AMPLIAO
12 15
23 50
12
12
23
23
12 15 15
12 15 15
23 50 50
23 50 50
49
Um algoritmo que pode ser utilizado para a ampliao de uma imagem por um
fator 2 mostrado a seguir:
m1
n1
para i de 1 at 256 faa
para j de 1 at 256 faa
y(n,m) f(i,j)
y(n,m+1) f(i,j)
y(n+1,m) f(i,j)
y(n+1,m+1) f(i,j)
m m+2
fim_para
n n+2
m1
fim_para
50
7.2 ESCALA
Exemplos:
Imagem original
Sx = 0.5 e Sy = 0.5
Sx = 1 e Sy = 1.5
51
7.3 TRANSLAO
Suponha que a tarefa seja transladar um ponto de coordenada (X, Y) para uma
nova posio usando-se deslocamentos (Dx, Dy). A translao facilmente
desempenhada atravs do uso das equaes:
X ' X Dx
Y ' Y Dy
Exemplos:
Imagem Original
Dx = 50 e Dy = 0
Dx = 50 e Dy = 50
52
7.4 ROTAO
sin x xc xc
cos y yc yc
53
Exemplos:
Imagem Original
ngulo 30
ngulo -45
54
EXERCCIOS:
Dado o trecho de uma imagem com 256 tons de cinza, representado pela matriz
abaixo,
200 100 100
A 0 10 50
50 250 120
encontre:
55