processamento digital de imagens - agostinho brito · 2020. 9. 1. · etapas envolvidas no...

31
Processamento digital de imagens Agostinho Brito DCA-CT-UFRN 4 de julho de 2018 Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 1 / 31

Upload: others

Post on 12-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Processamento digital de imagens

Agostinho Brito

DCA-CT-UFRN

4 de julho de 2018

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 1 / 31

Page 2: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

O que é processamento digital de imagens?

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 2 / 31

Page 3: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

O que é processamento digital de imagens

EntradaSaída IMAGEM MODELO

IMAGEM Processamentodigital deImagens

Computaçãográfica

MODELO Visãocomputacional

GeometriaComputacional

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 3 / 31

Page 4: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Primeira imagem digital

Adquirida em 1957 por RusselKirsch, cientista do NIST.

Tinha 176× 176 pixels de tamanho.

Diversos limiares precisaram serajustados para que a imagem emtom de cinza pudesse ser capturadano scanner monocromáticodesenvolvido.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 4 / 31

Page 5: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Primeira câmera digital

Criada em 1975 por Steve Sasson.

Resolução de 0.01 Megapixels.

A imagem foi adquirida em 23segundos.

Para ver as imagens foi desenvolvidouma adaptação para uma TV.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 5 / 31

Page 6: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

De onde vêm as imagens?

As mais comuns provêm do espectro de ondas eletromagnéticas

Edifícios Humanos Borboletas Ponta agulha Protozoários Moleculas Átomos Núcleo átomo

104 108 1012 1015 1016 1018 1020

Penetração naatmosfera?

Radio Microondas Infravermelho Visível Ultravioleta raios X Raios Gama

103 10−2 10−5 0.5×10−6 10−8 10−10 10−12Tipo de radiação

Comp. onda (m)

Escala aproximadado comp. onda

Frequencia (Hz)

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 6 / 31

Page 7: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Exemplos de aplicações

Raios X Microscopia Ultrassonografia

Automação Entretenimento Visão

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 7 / 31

Page 8: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Etapas envolvidas

Basede

conhecimento

Aquisição

Melhoramento

Filtragem

Compressão

Segmentação

Representaçãoe descrição

Reconhecimento

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 8 / 31

Page 9: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Etapas envolvidas no processamento de imagens - exemplo

1.0

0.980.7 0.45

0.5

0.73

Quadrados = 8Círculos = 7Estrelas = 6

Resultado

Reconhecimento

SegmentaçãoFiltragemCaptura

Representação

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 9 / 31

Page 10: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Imagem: definição

Uma imagem pode ser definida como toda e qualquer visualização gerada peloser humano, seja em forma de objeto, de obra de arte, de registro foto-mecânico,de construção pictórica (pintura, desenho, gravura) ou até de pensamento.

Uma imagem é uma figura quando é produzida por ordenação de pigmentossobre algum suporte, geralmente utilizando técnicas de fotografia: impressão emfilme de uma cena tomada com uso de uma câmera fotográfica.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 10 / 31

Page 11: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Imagem monocromática

Função de intensidade luminosa bidimensional f (x , y), onde os valores de x e ydenotam coordenadas espaciais e o valor de f em qualquer ponto (x , y) éproporcional ao brilho da imagem naquele ponto.

As mais comuns são as imagens cinza (fotos antigas) e as imagenspreto-e-branco (impressão em livros).

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 11 / 31

Page 12: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Representação de imagens monocromáticas

Uma imagem monocromática é dita digital quando é representada por umamatriz cujos índices das linhas e colunas identificam um ponto na imagem e oelemento correspondente da matriz identifica o nível de cinza neste ponto.

Os elementos da matriz são comumente chamados de pixels, ou pels,abreviaturas de picture elements.

f(x,y)

y

x

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 12 / 31

Page 13: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Imagem policromática

Formada pela composição de funções de intensidade luminosa bidimensionaisfi(x , y), onde os valores de x e y denotam coordenadas espaciais e o valor de fiem qualquer ponto (x , y) para a função i é proporcional a uma resposta de umaregião do espectro para a imagem naquele ponto.

Normalmente, várias matrizes são necessárias para representar a noção de cor.

As mais conhecidas são as imagens coloridas tradicionalmente armazenadas emarquivos como jpeg, png ou gif.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 13 / 31

Page 14: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Elementos de um sistema de processamento de imagens

AquisiçãoA captura de imagens envolve um dispositivo sensível à energia eletromagnética(luz visível, ultravioleta, infravermelho, raiosX) ou eletromecância (ultrassom), eum dispositivo digitalizador, que converte a saida elétrica contínua do sensor paraníveis digitais.

Imagens digitais possuem valores discretos de intensidade e posição espacial. Osprincipais tipos de sensores são os de linha (scanner de mesa) e os de área(camera filmadora).As imagens podem conter informação de cor ou não.

Para imagens coloridas, três componentes de cor (ou matrizes) são utilizadas: Red,Green e Blue.Para imagens monocromática, apenas uma matriz é usada e a imagem é representadaem escala de cinza (ou grayscale).

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 14 / 31

Page 15: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Modelo de imagens

RepresentaçãoUma imagem é uma função bidimensional de intensidade de luz f (x , y), onde

0 < f (x , y) <∞

A natureza dos tons da imagem pode ser caracterizada por duas componentes:intensidade luminosa, i(x , y), dependende da fonte de energia, e reflectância,r(x , y), que depende das propriedades do material.

f (x , y) = i(x , y)r(x , y)

onde 0 < i(x , y) <∞ e 0 < r(x , y) < 1

r(x , y)→ 1: tendem a refletir a luz que incide sobre o material (Ex: superfíciebranca).

r(x , y)→ 0: tendem a absorver a luz que incide sobre o material (Ex: superfíciepreta).

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 15 / 31

Page 16: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Modelo de imagem

QuantizaçãoUma imagem f (x , y) precisa ser digitalizada tanto no espaço quanto em intensidade(amplitude). Este processo é chamado de quantização. Pode ser feita:

Espacialmente (Mlinhas × Ncolunas)

No número de níveis utilizados para representar cada pixel, denotado por G = 2m,onde m é a quantidade de bits usada para representação.

Com m = 8, cada pixel pode representar até 256 tons de cinza, suficientes paradistinção pelo olho humano.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 16 / 31

Page 17: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Modelo de imagem

Quantização espacial - efeitos da redução de elementos na matriz de pontos

Perda de detalhes

Efeito “tabuleiro de xadrez”.

256 128 64 32

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 17 / 31

Page 18: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Modelo de imagem

Quantização em tons de cinza - efeitos da redução da quantidade de bits pararepresentação.

Efeito de falso contorno.

Visível em imagems com 16 tons de cinza ou menos.

5 bits 4 bits 3 bits 2 bits

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 18 / 31

Page 19: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Elementos de um sistema de processamento de imagens

Resolução espacialNúmero de elementos nos registradores.

Quanto maior, melhor a riqueza de detalhes.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 19 / 31

Page 20: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Elementos de um sistema de processamento de imagens

ArmazenamentoFator relacionado com a quantidade de memória necessária para guardar umaimagem.

Imagem cinza com resolução de 640x480 pixels necessita de 300K para serarmazenada. Para uma imagem com resolução de 1024x1024, a memórianecessária é de 1M.

Métodos de compressão reduzem estes números.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 20 / 31

Page 21: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Elementos de um sistema de processamento de imagens

ProcessamentoO processamento de imagens digitais é geralmente espresso na formaalgorítmica. A maioria das funções de processamento pode ser implementada viasoftware.

O processamento via hardware geralmente só é necessário quando a velocidadeé fator preponderante nos resultados e não pode ser alcançada via software.

Para imagens em movimento, 30 quadros por segundo geralmente precisam serprocessados.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 21 / 31

Page 22: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Elementos de um sistema de processamento de imagens

ComunicaçãoEnvio de dados entre estações de processamento.

Técnicas de compressão aceleram a transmissão de dados com ou sem perda deinformações.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 22 / 31

Page 23: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Elementos de um sistema de processamento de imagens

ApresentaçãoExibição da imagem em monitores de vídeo ou dispositivos de impressão.

Imagens coloridas / pseudocolor.

índice R G B0 10 230 201 15 23 179... ... ... ...

255 200 10 68

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 23 / 31

Page 24: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Relações entre pixels

Cada pixel possui um conjunto de outros pixels que participam de sua vizinhança.

O conceito de vizinhança é utilizado no estabelecimento de fronteiras econectividade de regiões em uma imagem.

Vizinhança de um pixel.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 24 / 31

Page 25: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Relações entre pixels

As relações de adjacência entre pixels são baseadas em um critério desimilaridade (níveis de cinza iguais).

Seja V o conjunto dos níveis de cinza utilizados para definir conectividade.

Para uma imagem binária, V = 1. Para uma imagem em tons de cinza, o conjuntoé determinado por uma faixa de tons de cinza, V = 16, 17, . . . , 32.Principais tipos de conectividade

conectividade 4 - dois pixels p e q com valores de V são 4-conectados se q está noconjunto N4(p).conectividade 8 - dois pixels p e q com valores de V são 8-conectados se q está noconjunto N8(p).

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 25 / 31

Page 26: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Relações entre pixels

Rotulação de componentes conectadasA rotulação de componentes conectadas exerce importante papel noprocessamento automático de imagens binárias. Permite atribuir a cadacomponente um rótulo para diferenciá-la das outras componentes na imagem.Algoritmo seedfill(x, y, rotulo) (ou floodfill):

1 Iniciar pilha de posições com a posição do pixel p, de coordenadas (x , y).2 Retirar elemento da pilha.3 Para cada ponto p’ vizinho do pixel p, se seu valor for igual a 255, empilhar a sua

posição (x ′, y ′) na pilha de posições.4 Alterar o valor do pixel (x , y) para o valor do rótulo.5 Repetir até que a pilha esvazie.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 26 / 31

Page 27: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Relações entre pixels

Rotulação de componentes conectadasAssumindo que os pixels de fundo têm valor igual a 0 e os pixels das váriascomponentes têm valor igual a 255, algoritmo de rotulação é o seguinte:

1 Fazer rotulo = 1.2 Varrer a imagem sequencialmente, linha por linha, até encontrar pixel (x , y) com valor

igual a 255.3 Executar algoritmo seedfill(x, y, rotulo).4 Fazer rotulo = rotulo + 1.5 Continuar a varredura a partir do ponto seguinte ao ponto (x , y).6 Repetir até a extinção de componentes conectadas.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 27 / 31

Page 28: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Relações entre pixels

Medidas de distância entre os pixels p(x , y) e q(s, t).

Euclidiana: De(p, q) =√

(x − s)2 + (y − t)2

D4 (quarteirão): D4(p, q) = ‖x − s‖+ ‖y − t‖D8 (tabuleiro): D8(p, q) = max(‖x − s‖, ‖y − t‖)

201

1

1

1

2

22

2

2

2

2

1

1

2

22

2

2

2 2 2

D4 D8

201

1

1

12

2

22

2 2

1

1

2

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 28 / 31

Page 29: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Transformações na geometria da imagem

Translaçãodeslocamento de um ponto com coordenadas (x , y) para uma nova localização(x ′, y ′) por (x0, y0) pixels, ou seja,

x ′ = x + x0

y ′ = y + y0

O pixel na nova posição (x ′, y ′) assumirá a cor do pixel que existia na posição(x , y) antes da operação de translação.Costuma-se geralmente representar as transformações em coordenadashomogêneas, uniformizando-as em uma matriz. Para a translação, é feita arepresentação x ′

y ′

s

=

1 0 x0

0 1 y0

0 0 1

xy1

A matriz de translação em coordenadas homogêneas será então

T =

1 0 x0

0 1 y0

0 0 1

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 29 / 31

Page 30: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Transformações na geometria da imagem

Escalamento

T =

Sx 0 00 Sy 00 0 1

Rotação

T =

cos(θ) −sen(θ) 0sen(θ) cos(θ) 0

0 0 1

Rotação no sentidoanti−horário

y

x

(x’, y’)

(x,y)

z

O mapeamento das transformações é feito no sentido inverso, ou seja, para cadapixel p′(x ′, y ′) da imagem rotacionada, procura-se sua posição na imagemoriginal, p(x , y) e atribui-se o valor deste pixel à imagem processada.

Se o mapeamento for realizado no sentido direto, a imagem resultante poderáconter pontos com valores indefinidos.

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 30 / 31

Page 31: Processamento digital de imagens - Agostinho Brito · 2020. 9. 1. · Etapas envolvidas no processamento de imagens - exemplo 1.0 0.7 0.98 0.45 0.5 0.73 Quadrados = 8 Círculos =

Transformações na geometria da imagem

Diversas transformações podem ser representadas por uma única matrix 3× 3.Ex:

p′ = Rθ(S(Tp)) = Ap

A = RθST

Agostinho Brito (DCA-CT-UFRN) Processamento digital de imagens 4 de julho de 2018 31 / 31