Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... ·...

30
opico 0 - Introdu¸ ao a Imagens Digitais Jo˜ ao B. Florindo Instituto de Matem´ atica, Estat´ ıstica e Computa¸c˜ ao Cient´ ıfica Universidade Estadual de Campinas - Brasil jbfl[email protected] Jo˜ ao B. Florindo T´opico 0 - Introdu¸ ao a Imagens Digitais 1 / 30

Transcript of Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... ·...

Page 1: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Topico 0 - Introducao a Imagens Digitais

Joao B. Florindo

Instituto de Matematica, Estatıstica e Computacao CientıficaUniversidade Estadual de Campinas - Brasil

[email protected]

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 1 / 30

Page 2: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Outline

1 Imagens Digitais

2 Operacoes Basicas

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 2 / 30

Page 3: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens

Imagens sao usadas como um poderoso meio de expressao desde osprimordios da civilizacao1

1Varias das imagens aqui expostas foram retiradas do curso disponıvel emhttp://iris.sel.eesc.usp.br/sel886

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 3 / 30

Page 4: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens

Uma imagem vale mais que mil palavras!

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 4 / 30

Page 5: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens

Conceito de imagem digital surge no inıcio do seculo passado quandofotografias passam a ser transmitidas por telegrafos (Exemplo abaixo de1921)

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 5 / 30

Page 6: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens Digitais

Uma imagem digital e uma funcao

f (x , y)

em que (x , y) sao as coordenadas espaciais, discretas, inteiras e, porconvencao, positivas (nao-negativas).

Cada ponto com coordenada (x , y) e chamado de pixel (Picture Element)

A magnitude de f (x , y) e chamada de nıvel de cinza ou intensidade decor do pixel. Sao valores, discretos, reais e nao-negativos.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 6 / 30

Page 7: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens Digitais

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 7 / 30

Page 8: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens Digitais

Amostragem

Discretizacao das coordenadas espaciais.Ex.:

x = 1, 2, 3, . . . , 256 y = 1, 2, 3, . . . , 256

Diz-se que esta imagem tem tamanho (ou resolucao) 256× 256.

Quantizacao

Discretizacao da magnitude de f (x , y).Ex.: Supor que f (x , y) pode assumir os seguintes valores inteiros:

0, 1, 2, . . . , 255

Diz-se que esta imagem tem 256 nıveis de cinza (ou de cor).

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 8 / 30

Page 9: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens Digitais

Convencao de eixos utilizada em (a) Processamento de Imagens e (b)Computacao Grafica

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 9 / 30

Page 10: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Imagens Digitais

A esquerda, convencao usada em C, Java, etc. A direita, convencao usadaem Matlab/Octave/Scilab

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 10 / 30

Page 11: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Resolucao Espacial

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 11 / 30

Page 12: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Resolucao em Nıveis de Cinza

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 12 / 30

Page 13: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Resolucao em Nıveis de Cinza

Resolucao em nıveis de cinza esta relacionada ao numero de valoresdistintos que podem ser atribuıdos a cada pixel.

Usualmente se refere ao numero de bits necessarios para expressar osnıveis de cinza. Ex.: Imagem 8 bits - Nıveis 0, 1, 2, . . . , 255.

Tambem chamado de profundidade de cinza (ou de cor).

Imagens que possuem apenas dois nıveis de cinza (preto e branco) saochamadas de imagens binarias.

Imagens com maior resolucao e/ou profundidade exigem mais recursoscomputacionais para processamento.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 13 / 30

Page 14: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Adjacencia e Vizinhanca

Dois pixels que compartilham uma borda sao ditos adjacentes por bordaou 4-adjacentes.

Dois pixels que compartilham um vertice sao ditos adjacentes porvertice ou 8-adjacentes.

A vizinhanca de 4 de um pixel p com coordenadas (x , y) e o subconjuntode pixels 4-adjacentes mais o proprio p.

A vizinhanca de 8 de um pixel p com coordenadas (x , y) e o subconjuntode pixels 8-adjacentes mais o proprio p.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 14 / 30

Page 15: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Adjacencia e Vizinhanca

A esquerda, vizinhanca de 4, a direita, vizinhanca de 8

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 15 / 30

Page 16: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Conectividade

Dois pixels sao conectados se

1 Sao adjacentes

2 Possuem nıveis de cinza similares sob algum criterio

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 16 / 30

Page 17: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Metricas de Distancia

Dados dois pixels p com coordenadas (x1, y1) e q com coordenadas(x2, y2), temos aDistancia Euclideana:

De(p, q) =√

(x1 − x2)2 + (y1 − y2)2

Distancia City-Block (D4):

Dcb(p, q) = |x1 − x2|+ |y1 − y2|

Distancia Chessboard (D8):

Dch(p, q) = max{|x1 − x2|, |y1 − y2|}.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 17 / 30

Page 18: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Imagens Digitais

Codigo

1 img = imread ( ’ l e n a . png ’ ) ;s i z e ( img )

3 img ( 1 : 5 , 1 : 5 )imshow ( img )

src/cap0/ex1.m

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 18 / 30

Page 19: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Outline

1 Imagens Digitais

2 Operacoes Basicas

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 19 / 30

Page 20: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Histogramas

Histogramas contam o numero de pixels com determinado nıvel de cinzana imagem.

Operacao fundamental na melhora do contraste e a equalizacao dehistograma.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 20 / 30

Page 21: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Histogramas

Caso mais drastico:

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 21 / 30

Page 22: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Histogramas - Codigo

img = imread ( ’ l e n a . png ’ ) ;2 img = r g b 2 g r a y ( img ) ;

f i g u r e ; imshow ( img ) ;4 f i g u r e ; i m h i s t ( img ) ;

img = h i s t e q ( img ) ;6 f i g u r e ; imshow ( img ) ;

f i g u r e ; i m h i s t ( img ) ;

src/cap0/ex2.m

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 22 / 30

Page 23: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Binarizacao

Outra tecnica muito util, sobretudo em segmentacao e a binarizacao(thresholding): todos os pixels com intensidade menor que o limiarsetados para zero e os demais para um (ou qualquer outro valor definidocomo nıvel de cinza maximo).

Varias tecnicas para determinar limiar ideal. Matlab usa Otsu por padrao.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 23 / 30

Page 24: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Histogramas

Exemplo de aplicacao:

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 24 / 30

Page 25: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Binarizacao - Codigo

1 img = imread ( ’ cameraman . png ’ ) ;t = g r a y t h r e s h ( img ) ;

3 img = im2bw ( img , t ) ;f i g u r e ; imshow ( img ) ;

src/cap0/ex3.m

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 25 / 30

Page 26: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Templates

Templates sao janelas que varrem a imagem fazendo uma operacao local(de vizinhanca) em cada pixel.

Cada elemento do template e multiplicado pelo pixel correspondente e asoma armazenada no pixel central.

Supondo uma janela w com 3× 3 pixels, a transformacao no pixel f (x , y)(posicao e abaixo) da imagem e feita como a seguir:

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 26 / 30

Page 27: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Templates

de modo que o pixel g(x , y) na imagem transformada sera dado por

g(x , y) = w1 ·a+w2 ·b+w3 ·c +w4 ·d +w5 ·e+w6 · f +w7 ·g +w8 ·h+w9 · i

Esta operacao e chamada de convolucao discreta. Exemplo tıpico deaplicacao sao os filtros.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 27 / 30

Page 28: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Filtros

Filtros passa-baixas borram imagens ou eliminam ruıdos.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 28 / 30

Page 29: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Operacoes Basicas - Filtros

Ja filtros passa-altas realcam bordas.

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 29 / 30

Page 30: Tópico 0 - Introdução a Imagens Digitais - Unicampjbflorindo/Teaching/2017/MT530/... · 2017-03-23 · Uma imagem vale mais que mil palavras! Jo~ao B. Florindo T opico 0 - Introdu˘c~ao

Operacoes Basicas

Filtro - Codigo

img = imread ( ’ cameraman . png ’ ) ;2

mask1 = ( 1 / 9 ) ∗ [ 1 1 1 ; 1 1 1 ; 1 1 1 ]4 img = conv2 ( img , mask1 ) ;

f i g u r e ; imshow ( img/max ( img ( : ) ) ) ;6

mask2 = ( 1 / 9 ) ∗[−1 −1 −1;−1 8 −1;−1 −1 −1]8 img = conv2 ( img , mask2 ) ;

f i g u r e ; imshow ( img/max ( img ( : ) ) ) ;

src/cap0/ex4.m

Joao B. Florindo Topico 0 - Introducao a Imagens Digitais 30 / 30