7/17/2019 1 - Acondicionamento de Imagem
1/43
1
Acondicionamento de imagem
Operaes geomtricas bsicas
7/17/2019 1 - Acondicionamento de Imagem
2/43
Transformaes espaciais
Matriz de transformao genrica
onde
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 2
[ ] [ ] 1
,,,, Twvuzyx =
!!!
"
#
$$$
%
&
=
333231
232221
131211
1
aaa
aaa
aaa
T
Escalamento, corte e rotao
Translao
Perspectiva
Escalamento global
7/17/2019 1 - Acondicionamento de Imagem
3/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 3
TRANSLAO
Suponha que pretende uma translao de um ponto (X,Y) de um deslocamento(X0, Y0). Teremos ento:
Esta translao pode ser obtida pela aplicao da equao:
X*=X+X0 Y*=Y+Y0
[ ] [ ]!!!
"
#
$$$
%
&
=
1
010
001
11''
yx tt
yxyx
xt
yt
7/17/2019 1 - Acondicionamento de Imagem
4/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 4
Transformaes bsicas - Rotao
Rotao
Desta forma a rotao efectuada em torno do ponto de origem.
!O ngulo medido no sentidodos ponteiros do relgio
[ ] [ ] !"
#$%
& '=
((
((
cossin
sincos'' yxyx
!"
#
+$=
+=
%%
%%
cossin'
sincos'
yxy
yxx
7/17/2019 1 - Acondicionamento de Imagem
5/43
Transformaes bsicas - Rotao
Para rodar em torno de um ponto Xp, Yp:
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 5
[ ] [ ] !"
#$%
& '''=
((
((
cossin
sincos''
pp yyxxyx
pp yx ,
7/17/2019 1 - Acondicionamento de Imagem
6/43
ROTAO DIRECTA
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 6
Colocar todos os pontos x,y da imagem original nas coordenadas x,yda imagem destino
x,y x,y!"
#
+$=
+=
%%
%%
cossin'
sincos'
yxy
yxx
7/17/2019 1 - Acondicionamento de Imagem
7/43
ROTAO DIRECTA exemplo 10
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 7
7/17/2019 1 - Acondicionamento de Imagem
8/43
ROTAO DIRECTA exemplo 45
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 8
7/17/2019 1 - Acondicionamento de Imagem
9/43
ROTAO INVERSA
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 9
!"
!#
$
+=
+
+
=
%=+
%=
&&&&
&&
&&&&
&&
sin'cos'cossin
sin'cos'
sin'cos'cossin
sin'cos'
22
22
xyxy
Y
yxyx
x
Para cada ponto x,yda imagem destino ir imagem original ler o pixel em x,y
Equao directa:
Equao inversa:x,y x,y
!"#
+$=
+=
%%
%%
cossin'
sincos'
yxy
yxx
7/17/2019 1 - Acondicionamento de Imagem
10/43
ROTAO INVERSA exemplo 10
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 10
7/17/2019 1 - Acondicionamento de Imagem
11/43
ROTAO INVERSA exemplo 45
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 11
7/17/2019 1 - Acondicionamento de Imagem
12/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 12
Transformaes bsicas - Escalamento
Escalamento
Tal como a translao e a rotao tambm o escalamento podeser conseguido com a aplicao de uma operao matricial.
[ ] [ ] !"
#$%
&=
y
x
S
Syxyx
0
0''
7/17/2019 1 - Acondicionamento de Imagem
13/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 13
Tcnicas de interpolao de valores
Quando as coordenadas de um valor so nmeros fraccionais coloca-se oproblema de como calcular o valor a utilizar.
Podem utilizar-se (pelo menos) quatro tcnicas: Truncatura
A parte fraccionria dos valores desprezada sendo utilizado o valor na direco da origem
das coordenadas Arredondamento ou Nearest Neighbor
O arredondamento dos valores permite obter resultados um pouco melhores que o mtodoanterior mas mesmo assim insuficientes em muitas aplicaes
BiLinear
BiCbica j,k j+1,k
j,k+1 j+1,k+1
? j+x,k+y
7/17/2019 1 - Acondicionamento de Imagem
14/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 14
Interpolao biLinear
A interpolao bilinear efectua-se em dois passos: interpolao em x e depois em y Interpolao em x:
Interpolao em y:
j,k j+1,k
j,k+1 j+1,k+1
? j+x,k+y
j+x,k
j+x,k+1
( )
( ) 1,11,1,
,1,,
..1
..1
+++++
++
+!=
+!=
kjkjkxj
kjkjkxj
BxBxB
BxBxB
( ) 1,,, ..1 +++++ +!= kxjkxjykxj ByByB
7/17/2019 1 - Acondicionamento de Imagem
15/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 15
Interpolao biCbica
A interpolao bicbica utiliza uma regio 4x4 pixels Interpolao em x
Interpolao em y
Onde os coeficientes R1a R4so:
j,k
j+2,k-1
j+2,k+1? j+x,k+y
j-1,k-1
j,k+2j+2,k+2
j+2,k
j-1,k+2
( )4,23,12,1,1,
....6
1RBRBRBRBB kjkjkjkjkxj ++!+ +++"
#
$%&
'=
( )42,31,2,11,,
....6
1RBRBRBRBB kxjkxjkxjkxjkxj +++++!++ +++"
#
$%&
'=
( ) ( ) ( )
( ) ( )
( )3
4
33
3
333
2
3333
1
41
6142
416243
xR
xxR
xxxR
xxxxR
=
!+=
++!+=
!+++!+=
7/17/2019 1 - Acondicionamento de Imagem
16/43
Rotao 10 com interpolaoNearest Neighbor
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 16
7/17/2019 1 - Acondicionamento de Imagem
17/43
Rotao 10 com interpolaoBi-Linear
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 17
7/17/2019 1 - Acondicionamento de Imagem
18/43
Comparao interpolao NN vs BL
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 18
7/17/2019 1 - Acondicionamento de Imagem
19/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 19
Comparao de tcnicas de interpolao
A interpolao Nearest Neighborno introduz nveis de cinzento em imagens B&W
A interpolao biLinear a que produz linhas visualmente mais perfeitas
No entanto, a interpolao biCbica preserva melhor o contraste da linha
Resultado dos diferentes mtodos de interpolao na rotao de 17de uma linha vertical
7/17/2019 1 - Acondicionamento de Imagem
20/43
Exemplo de engrandecimento 5x
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 20
Nearest-neigbor
Bilinear Bicubic
Barbara Zitov, Jan Flusser (2003). Image registration methods: asurvey. Image and Vision Computing 21 Pages 977-1000
7/17/2019 1 - Acondicionamento de Imagem
21/43
Comparao entre tcnicas
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 21
Bilinear
Bicubic
7/17/2019 1 - Acondicionamento de Imagem
22/43
Comparao entre mtodos deinterpolao em ampliao
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 22
Interpolao Nearest Neighbor Interpolao BiLinear
7/17/2019 1 - Acondicionamento de Imagem
23/43
Imagem rodada 1 360 vezes
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 23
Interpolao nearestCPU time = 111.5
Interpolao bilinearCPU time = 274.0
Interpolao bicubicCPU time = 1064.0
7/17/2019 1 - Acondicionamento de Imagem
24/43
Exemplo de degradao da imagem -detalhe
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 24
Imagem original Imagem rodada 1 360 vezes usandointerpolao bilinear
7/17/2019 1 - Acondicionamento de Imagem
25/43
Comparao bilinear-bicubic
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 25
Imagem rodada 1 360 vezes usandointerpolao bilinear
Imagem rodada 1 360 vezes usandointerpolao bicubica
7/17/2019 1 - Acondicionamento de Imagem
26/43
Comparao original - bicubica
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 26
Original Bicubica
Mas o tempo de execuo MUITO superior !!!
7/17/2019 1 - Acondicionamento de Imagem
27/43
Comparao
Embora a interpolao bi-linearseja menos boa que alguns mtodos de maiorordem em termos de preciso e do aspecto final da imagem apresentaprovavelmente a melhor relaoentre resultado e complexidade sendo a maisaplicada
A interpolao bicbica recomendada quando a transformao geomtricaenvolve um alargamentosignificativo
A intepolao nearest neighbor de evitarexcepto quando a imagem possuipouca variedade de intensidades e queremos evitar a introduo de nveis de
cinzento ou de cores sintticas
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 27
7/17/2019 1 - Acondicionamento de Imagem
28/43
28
Aula 2 - Acondicionamento daimagem
Mtodos espaciais
7/17/2019 1 - Acondicionamento de Imagem
29/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 29
Mtodos espaciais de acond. de imagem Os mtodos espaciais calculam o valor de cada pixel com base em
operaes efectuadas sobre os valores de uma pequena regio depontos nas suas redondezas.
Exemplo de uma vizinhana 3x3
A dimenso da vizinhana considerada pode variar
dependendo do objectivo em vista. O processamento nas regies limites coloca umproblema que pode ser resolvido de vrias formas: No processar as margens
Duplicar as linhas e colunas necessrias
Fazer o espelho das linhas e colunas necessrias Fazer o wrap-around (considerar a imagem cilindrica)
Todas as solues tm vantagens e desvantagens
7/17/2019 1 - Acondicionamento de Imagem
30/43
Mtodos de prolongamento da imagem
Duplicao das margens
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 30
Espelho
7/17/2019 1 - Acondicionamento de Imagem
31/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 31
Filtros de mdia uniforme Os filtros de mdia, na sua verso mais simples, limitam-se a
substituir o valor de um pixel pela mdia do seu valor e dos pixelsque o rodeiam.
Quando se pretende colocar o resultado do filtro na prpria imagemque est a ser processada necessrio manter cpia separada dealgumas linhas.
( ) ( )!"
=
Smn
mnfP
yxg),(
,1
,
Vizinhana do pixel (x,y) incluindoele prprio
Nmero de pixels na vizinhana dopixel (x,y) incluindo ele prprio
1 1 1
1 1 1
1 1 1
Exemplo de uma mscaraunitria
7/17/2019 1 - Acondicionamento de Imagem
32/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 32
Exemplo de filtragens de mdia uniforme
Filtragem de mdia 5x5
Original
Filtragem de mdia 3x3
7/17/2019 1 - Acondicionamento de Imagem
33/43
Comparao de filtros de mdia
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 33
Original 3x3 5x5
7/17/2019 1 - Acondicionamento de Imagem
34/43
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 34
Problemas dos filtros de mdia
Os filtros de mdia colocam alguns problemas:
Desfocam as arestas
Deslocam fronteiras
Reduzem o contraste
Podem provocar erros de aliasing (criao de linhas inexistentes)
7/17/2019 1 - Acondicionamento de Imagem
35/43
Implementao de um filtro de mdia
Soluo A por cada pixel efectuar a mdia dos pixeis abrangidospela mscara de convoluo.
Num filtro RxR h que acumular R2valores - O(R2)
Soluo B por cada pixel subtrair os pixeis que saeme somarapenas os que entram
Num filtro RxR h que acumular 2R valores - O(R)
Soluo C utilizar as mdias anteriores para calcular a prxima
Num filtro RxR h que acumular 7 valores independentemente de R
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 35
Como se faz?
7/17/2019 1 - Acondicionamento de Imagem
36/43
Exemplo de um filtro de mdia 5x5
DEE/FCT/UNL - Sistemas Sensoriais Edio 2013/14 Jos Manuel Fonseca 36
!" #! $%% $& $'# !'( #( $'(
) ( !'! !"' $%' !"' $! )#
!!& ! %) $ !$ ! #* ') !(! $" "$
$*$ !& "* !$" #) !)& !(' #
!&% $$" $! !' !!! *( !"# ! '(
$) $$( $ *% )% !$! (& !%$ ! '%
!!% $# '( '' !$# !)' ! *' $
'( $&% $$$ %) !(( !!' %" #!
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
) ) ) ( !'! !"' $%' !"' $! )# )# )#
!!& !!& ! !& ! %) $!$ !#* ') !(! $" "$ "$ "$
$*$ $*$ $*$ !& "* !$" #) !)& !(' # # #
!&% ! &% ! &% $ $" $! !' !!! *( !"# ! '( ! '( !'(
$) $) $) $$( $*% )% !$! (& !%$ ! '% ! '% ! '%
!!% ! !% ! !% $# '( '' !$# !)' ! *' $ $ $
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
Imagem original
Imagem
expandida
com duplicao das margens
reanecessriapara um
5x5
7/17/2019 1 - Acondicionamento de Imagem
37/43
Exemplo de um filtro de mdia 5x5 soluo A
DEE/FCT/UNL - Sistemas Sensoriais Edio 2013/14 Jos Manuel Fonseca 37
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
) ) ) ( !'! !"' $%' !"' $! )# )# )#
!!& ! !& !!& ! %) $ !$ ! #* ') !(! $" "$ "$ "$
$*$ $*$ $*$ !& "* !$" #) !)& !(' # # #
!&% ! &% ! &% $ $" $! !' !!! *( !"# !'( ! '( ! '(
$) $) $) $$( $ *% )% !$! (& !%$ ! '% ! '% ! '%
!!% ! !% ! !% $# '( '' !$# ! )' ! *' $ $ $
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
!" "# $%& $'" $'( $ $(" $(&
# " $ )' $ %% $& " $ '% $ &% $ &* $% "
$)( $)! $$! $%* $%" $%& $%& $$!
$$& $$* $%) $%! $%' $$' $)# $)&
$%& $$* $$% $$% $$( $$& $%) $%'
$$" $)" $$$ $$% $$% $$) $%% $%$
$)! $)$ $$* $%& $$) $)* $%( $%%
$)! $)' $%' $&* $$" $)& $$" $$)
25
2121361101101101417666233811919192338119191923381191919)1,1(
++++++++++++++++++++++++
=I
Implementao mais simples- Todos os pixeis so calculados de igual forma implicando 25 somas e uma diviso por pixel- Neste caso teremos 64 pixeis * (25 somas e 1 diviso) = 1600 somas e 64 divises
R2com R=5
7/17/2019 1 - Acondicionamento de Imagem
38/43
Exemplo de um filtro de mdia 5x5 soluo B
DEE/FCT/UNL - Sistemas Sensoriais Edio 2013/14 Jos Manuel Fonseca 38
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
) ) ) ( !'! !"' $%' !"' $! )# )# )#
!!& ! !& !!& ! %) $ !$ ! #* ') !(! $" "$ "$ "$
$*$ $*$ $*$ !& "* !$" #) !)& !(' # # #
!&% ! &% ! &% $ $" $! !' !!! *( !"# !'( ! '( ! '(
$) $) $) $$( $ *% )% !$! (& !%$ ! '% ! '% ! '%
!!% ! !% ! !% $# '( '' !$# ! )' ! *' $ $ $
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
!"#$ %%%& &'$( &$'$ &)&% &(*! &"(& &*%'
%(($ %#*" &'(# &(#* (! &%*" &('& &%'&
%) %)*$ %"%% &!)! &%'$ &')$ &'*$ %"%(
%*%% %"!' &'!! &!)) &!!! %*($ %$%' %#*'
&'$' %"'! %$*" %*'$ %*)( %*&( %""$ &!'&
%"#* %$'& %$*# %*'" %*'" %$#* &'#" &'%&
%))& %#%' %*"* &'*! %$#& %)(* &!!# &')!
%)$' %)'# &!'# &('! %"(' %#)* %"($ %$)!
2121361101101101417666233811919192338119191923381191919)1,1( ++++++++++++++++++++++++=I
)185194202020()1106191919()1,1()2,1( +++++++++!= II
)9510252252252()23381191919()1,1()1,2( +++++++++!= II
No final h que dividir todos os pixeis por 25!
Implementao intermdia- Muitos pixeis so calculados com 10 somas e uma diviso por pixel- Neste caso teremos 64 pixeis * (10 somas e 1 diviso) = 640 somas e 64 divises
2R com R=5
7/17/2019 1 - Acondicionamento de Imagem
39/43
Filtro de mdia de complexidadeindependente da dimenso
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 39
A B
C O
O= B A+ C+ a b c + d
a b
c d
7/17/2019 1 - Acondicionamento de Imagem
40/43
Filtro de mdia de complexidadeindependente da dimenso
DEE/FCT/UNL - Sistemas Sensoriais Jos Manuel Fonseca 40
Pretendemos a rea a amarelo
- + -
B - A
+
B A + C
a
A menos
b
A mais
dA menos
cA mais
O= B A+ C+ a b c + d
7/17/2019 1 - Acondicionamento de Imagem
41/43
Exemplo de um filtro de mdia 5x5 soluo C
DEE/FCT/UNL - Sistemas Sensoriais Edio 2013/14 Jos Manuel Fonseca 41
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
!" !" !" #! $%% $& $'# !'( #( $'( $'( $'(
) ) ) ( !'! !"' $%' !"' $! )# )# )#
!!& ! !& !!& ! %) $ !$ ! #* ') !(! $" "$ "$ "$
$*$ $*$ $*$ !& "* !$" #) !)& !(' # # #
!&% ! &% ! &% $ $" $! !' !!! *( !"# !'( ! '( ! '(
$) $) $) $$( $ *% )% !$! (& !%$ ! '% ! '% ! '%
!!% ! !% ! !% $# '( '' !$# ! )' ! *' $ $ $
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
'( '( '( $&% $$$ %) !(( !!' %" #! #! #!
!"#$ %%%& &'$( &$'$ &)&% &(*! &"(& &*%'
%(($ %#*" &'(# &(#* (! &%*" &('& &%'&
%) %)*$ %"%% &!)! &%'$ &')$ &'*$ %"%(
%*%% %"!' &'!! &!)) &!!! %*($ %$%' %#*'
&'$' %"'! %$*" %*'$ %*)( %*&( %""$ &!'&
%"#* %$'& %$*# %*'" %*'" %$#* &'#" &'%&
%))& %#%' %*"* &'*! %$#& %)(* &!!# &')!
%)$' %)'# &!'# &('! %"(' %#)* %"($ %$)!
2121361101101101417666233811919192338119191923381191919)1,1( ++++++++++++++++++++++++=I
)185194202020()1106191919()1,1()2,1( +++++++++!= II
)9510252252252()23381191919()1,1()1,2( +++++++++!= II
1292522019244719572223)2,2(
1292522019)1,2()1,1()2,1()2,2(
+!!++!=
+!!++!=
I
IIII
Implementao avanada- Muitos pixeis so calculados com 6 somas e uma diviso por pixel (independente da dimenso do filtro)- Neste caso teremos 64 pixeis * (6 somas e 1 diviso) = 384 somas e 64 divises
7/17/2019 1 - Acondicionamento de Imagem
42/43
Comparao entre as diferentes solues
Tenha em conta uma imagem de 4000x2000 pixeis (8 Mpixeis)
Imagine que quer aplicar um filtro de mdia de 9x9 pixeis Soluo A
8 000 000 * 81 somas = 648 000 000 somas
Soluo B 8 000 000 * 18 somas = 144 000 000 somas
Soluo C 8 000 000 * 6 somas = 48 000 000
Se o filtro for de 19x19 A = 2 888 000 000 somas (crescimento quadrtico)
B = 304 000 000 somas (crescimento linear) C = 48 000 000 somas (constante)
DEE/FCT/UNL - Sistemas Sensoriais Edio 2013/14 Jos Manuel Fonseca 42
7/17/2019 1 - Acondicionamento de Imagem
43/43
Comparao de tempos entre diversasimplementaes
DEE/FCT/UNL - Sistemas Sensoriais Edio 2013/14 Jos Manuel Fonseca 43
Mtodo 3x3 5x5 7x7 9x9 11x11 13x13 15x15
1 0,275 0,537 0,861 1,319 1,862 2,419 3,059
2 4,143 10,849 20,450 34,021 52,482 70,317 95,588
3 0,294 0,539 0,873 1,299 1,8113 2,439 3,1754 0,279 0,520 0,852 1,273 1,792 2,393 3,099
5 0,094 0,096 0,096 0,097 0,096 0,092 0,096
Mtodo 1 No processando as margens 24 linhas de cdigoMtodo 2 Processando as margens com IFs 31 linhas de cdigoMtodo 3 Processando as margens com padding 34 linhasMtodo 4 Com processamemto especial para as margens 163 linhas
Mtodo 5 Em tempo constante com padding 71 linhas
Testes efectuados com uma imagem de 1200x800 pixeis a cores
Top Related