Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de...

23
Disciplina de Processamento de Imagens 1 Prof. Fabio Augusto Faria Instituto de Ciˆ encia e Tecnologia UNIFESP Sala 106 [email protected] http://fafaria.wix.com/fabiofaria Segundo Semestre de 2015 1 Aulas Prof. Dr. F´ abio Cappabianco

Transcript of Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de...

Page 1: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Disciplina de Processamento de Imagens1

Prof. Fabio Augusto Faria

Instituto de Ciencia e TecnologiaUNIFESPSala 106

[email protected]://fafaria.wix.com/fabiofaria

Segundo Semestre de 2015

1Aulas Prof. Dr. Fabio Cappabianco

Page 2: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Roteiro

1 Trasnformacoes GeometricasTranslacaoRotacaoEscalamento (Contracao e Expansao)CisalhamentoTransformacoes Afim

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 2 / 23

Page 3: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Introducao a Transformacoes Geometricas

As transformacoes geometricas podem ser utilizadas para:I Editar imagens. Ex. Formatacao de publicacoes.I Alterar a orientacao de cenarios. Ex. Fotografia.I Criar registro de imagens. Ex. Imagens de satelite e medicas.I Gerar imagem artıstica. Ex. Montagem de comercial.I Inserir efeitos de distorcao de objetos. Ex. Face sorrindo.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 3 / 23

Page 4: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Introducao a Transformacoes Geometricas

As operacoes geometricas podem ser aplicadas de forma direta ouinversa.

Direta: calcula-se as coordenadas da imagem transformada (f , g) emfuncao das coordenadas da imagem original (x , y), percorrendo-se ospontos da imagem original e depois arredondando, se necessario,(f ′, g ′) para as coordedenadas inteiras (u, v) mais proximas.

Inversa: calcula-se as coordenadas reais (f , g) na imagem original apartir das coordendas discretas da imagem transformada (u, v),arredondando (f , g) para as coordenadas inteiras (x , y) maisproximas, se necessario. Obs.: “f”e “g”usados para representarnumeros reais.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 4 / 23

Page 5: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Introducao a Transformacoes Geometricas

A operacao direta pode gerar mais de um ponto com as mesmascoordendas discretas transformadas.

Neste caso, alguns pixels na imagem transformada ficam semcorrespondencia gerando lacunas.

Assim, utilizaremos nesta aula apenas transformacoes inversas.

Existem outras maneiras de terminar a intensidade dos pixels daimagem transformada com relacao ao arredondamento de (f , g) paraas coordenadas inteiras (x , y) mais proximas, que serao vistos na aulade interpolacao.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 5 / 23

Page 6: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Introducao a Transformacoes Geometricas

Exemplo de rotacao de uma imagem por transformada direta e portransformada inversa.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 6 / 23

Page 7: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Translacao

Translacao consiste em deslocar todos os pixels em uma dada direcao,mantendo as distancias originais entre eles.

Dado um pixel de coordenadas (u, v) na imagem transladada e umatranslacao de dx e dy , sendo dx e dy numeros reais, as coordenadas(x , y) na imagem original sao os inteiros mais proximos de (f , g)dados por:

I f = u − dx ;I g = v − dy ;

Se dx e dy forem inteiros, entao x = f e y = g . Alguns pixels podemcair fora dos limites da imagem original apos ela ser transladada.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 7 / 23

Page 8: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Translacao

A translacao pode ser representada em forma de matriz decoordenadas homogeneas:fg

1

=

1 0 −dx

0 1 −dy

0 0 1

uv

1

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 8 / 23

Page 9: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Rotacao

A rotacao em torno da origem e a operacao em que a imagem egirada em um determinado angulo θ, sendo a rotacao centralizada noponto de coordenadas (0, 0).

Toda a rotacao em torno de um ponto (x0, y0) pode ser reduzida auma translacao de dx ,dy , seguida de uma rotacao de um angulo θem torno do ponto 0, 0 da imagem transladada, seguida de umatranslacao de -dx ,-dy , onde dx = x0 0 e dy = y0.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 9 / 23

Page 10: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Rotacao

Dado um pixel de coordenadas (u, v) em uma imagem rotacionada deθ radianos no sentido horario, em torno das coordenadas (0, 0), ascoordenadas (x , y) na imagem original sao os inteiros mais proximosde (f , g) dados por:

I f = u ∗ cos(θ) − v ∗ sen(θ);I g = u ∗ sen(θ) + v ∗ cos(θ);

A rotacao gera pontos que caem fora da imagem. Pode-seaumentar o tamanho da imagem para evitar perder informacoes.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 10 / 23

Page 11: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Rotacao

Rotacao por transformada inversa em angulo θ=0.2 radianos.

A rotacao pode ser representada em forma de matriz de coordenadashomogeneas:fg

1

=

cos(θ) −sin(θ) 0

sin(θ) cos(θ) 0

0 0 1

uv

1

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 11 / 23

Page 12: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Escalamento

Contracao e expansao de uma imagem nos eixoSx e y por escalares Sxe Sy sao operacoes que alteram a resolucao de uma imagem.

Dado um pixel de coordenadas (u, v) em uma imagem de escalaalterada por Sx e Sy , as coordenadas (x , y) na imagem original saoos inteiros mais proximos de (f , g) dados por:

I f = u/Sx ;I g = v/Sy ;

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 12 / 23

Page 13: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Escalamento

A mudanca de escala pode ser representada em forma de matriz decoordenadas homogeneas:fg

1

=

1/Sx 0 0

0 1/Sy 0

0 0 1

uv

1

A contracao pode gerar efeitos indesejaveis se for realizada seminterpolacao.

Por exemplo, uma imagem listrada na qual cada linha contem apenasum pixel de espessura perde sua textura ao se reduzir sua resolucao.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 13 / 23

Page 14: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Escalamento

Exemplo de alteracao de escala com Sx = 0.75 e Sy = 1.25.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 14 / 23

Page 15: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Cisalhamento

A operacao de cisalhamento consiste em aplicar uma forca em umadas extremidades de um objeto em uma direcao fixando as outrasextremidades, com excecao da extremidade oposta a forca aplicada.

Como resultado, uma imagem retangular fica na forma de umparalelogramo.

Em uma imagem, o cisalhamento e aplicado na direcao vertical dasextremidades da direita, ou na direcao horizontal das extremidadesinferiores.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 15 / 23

Page 16: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Cisalhamento

Dado um pixel de coordenadas (u, v) em uma imagem cisalhada noeixo x por c v , as coordenadas (x , y) na imagem original sao osinteiros mais proximos de (f , g) dados por:

I f = u − v ∗ cv ;I g = v ;

Do mesmo modo, dado um pixel de coordenadas (u, v) em umaimagem cisalhada no eixo y por c h , as coordenadas (x , y) naimagem original sao os inteiros mais proximos de (f , g) dados por:

I f = u;I g = v − u ∗ ch;

Uma operacao derivada do cisilhamento pode ocorrer com variacaoem ambas as direcoes, ao mesmo tempo. Neste caso, temos:

I f = u − v ∗ cv ;I g = v − u ∗ ch;

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 16 / 23

Page 17: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Cisalhamento

O cisalhamento pode ser representado em forma de matriz decoordenadas homogeneas:fg

1

=

1 −cv 0

−ch 1 0

0 0 1

uv

1

Para o cisalhamento vertical, basta atribuir ch = 0 e para ocisalhamento horizontal, basta atribuir cv = 0.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 17 / 23

Page 18: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Cisalhamento

Exemplos de cisalhamento vertical (cv =0.2), horizontal (ch =0.25) ecomposto (cv =0.25, ch =-0.1)

Original cv = 0.2

ch = 0.25 cv = 0.25 e ch = 0.1

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 18 / 23

Page 19: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Transformacao Afim

Todas as operacoes geometricas vistas podem ser combinadas emuma unica funcao matematica. Para isto, basta multiplicar asmatrizes de transformacao na ordem inversa em que se deseja realizaras operacoes.

A matriz resultante realiza uma transformacao denominadatransformacao afim.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 19 / 23

Page 20: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Transformacao Afim

Dado um pixel de coordenadas (u, v) em uma imagem transformadapor uma operacao afim, as coordenadas (x , y) na imagem original saoos inteiros mais proximos de (f , g) dados por:fg

1

=

t11 t21 t31

t12 t22 t32

0 0 1

uv

1

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 20 / 23

Page 21: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Transformacao Afim

Exemplo de transformacao afim composta de translacao dx = −N/2,dy = −M/2, seguida de rotacao de angulo θ=0.2 e de translacaodx = N/2 e dy = M/2.

M e N sao o numero de colunas e linhas da imagem respectivamente.

Esta transformacao equivale a uma rotacao no centro da imagem.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 21 / 23

Page 22: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Exercıcios

1 Realizar opera de subtracao nas imagens subtracao imagens1.pgm esubtracao imagens2.pgm;

2 Detectar mudancao nas imagens antes.pgm e depois.pgm:1 Isolar o objeto;2 Medir area do objeto;

3 Realizar uma translacao na lena.pgm de dx = 50 e dy = −100;

4 Realizar uma rotacao de 45 graus na lena.pgm;5 Realizar uma operacao de redimensionamento na lena.pgm:

1 Aumente o tamanho da imagem de 256 × 256 para 512 × 512;2 Copie os valores de intensidade de cinza da img1 para img2;3 Preencha as lacunas;

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 22 / 23

Page 23: Prof. Fabio Augusto Faria - Unicampffaria/pi2s2015/class04/aula...Cisalhamento A opera˘c~ao de cisalhamento consiste em aplicar uma for˘ca em uma das extremidades de um objeto em

Trabalho Pratico Individual

Criar um sensor de movimento, direcao e velocidade que utiliza umacamera de vıdeo comum. Dado um vıdeo, o sistema deve ser capaz deidentificar se ocorreu alteracao no vıdeo, qual a direcao do movimento(cima, baixo, esquerda e direita) e qual e a velocidade destemovimento. Segue um roteiro:

1 Capturar ou carregar um vıdeo;2 Separar o vıdeo em frames;3 Selecionar um frame como padrao de ”nao movimento”;4 Escolher uma taxa de amostragem capaz de identificar qualquer

movimento;5 Calcular a direcao e velocidade, caso exista movimento;6 EXTRA: Calcular a area do objeto.

Data de entrega: 10/10/2015.

Prof. Fabio Augusto Faria (ICT/UNIFESP) Segundo Semestre de 2015 23 / 23