PROC IMAG –Processamento de Imagens Curso de ciência da computação Nara Portela
[email protected] Facebook: IPESU - Processamento de Imagens 2014.2 Conteúdo • A imagem digital • A imagem digital e suas características • Digitalização • Amostragem • Quantização • Relacionamentos básicos entre pixels • Vizinhança • Conectividade • Operações lógicas • Operações aritméticas Imagem digital • Imagem • Uma função bidimensional, f(x,y) • (x,y) são coordenadas espaciais • “posição” • f(x,y) é a intensidade do ponto ou de nível de cinza • “cor” • Quando x, y e o nível de cinza são finitos tem-se uma imagem digital Representação de Imagens Digitais Origem x y Pixel = 1 célula da matriz Representação de Imagens Digitais f(18,18)=154 Pixel = 1 célula da matriz Representação de Imagens Digitais = Representação de Imagens Digitais • Podemos expressar uma imagem digital por uma matriz, f(x,y), contendo M linhas e N colunas • M e N devem ser sempre número inteiros positivos Representação de Imagens Digitais • Número de pixels de uma imagem = resultado do produto nº de linhas x nº de colunas • Máquina fotográfica digital • Megapixels = um milhão de pixels • 3.1 megapixels = 2048 ×1536 = 3.145.728 Representação de Imagens Digitais n o pixels= M x N • f(x,y) representa a intensidade do sinal na posição (x,y) • L = níveis discretos de intensidade (“cores”) • Em uma imagem em tons de cinza (ou monocromática), L significa o número de tons que compõe a imagem • Nível de cinza = [ 0 , L -1 ] Representação de Imagens Digitais 0 < f(x,y) < L-1 Representação de Imagens Digitais Preto = 0 Branco = 255 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 • Cada nível discretos de intensidade do pixel é representada por um número inteiro • Cada número inteiro é representado pelo seu equivalente em binário • Exemplos: • 2 cores = 1 bit (0 ou 1) • 256 cores = 8 bits (00000000 até 11111111) • O número de níveis de intensidade (“cor”), L, costuma ser uma potência inteira de 2: • Profundidade de pixel = k • Número de bits usados pra representar uma cor Representação de Imagens Digitais L=2 k Representação de Imagens Digitais Preto = 0 Branco = 255 Preto = 00000000 Branco = 11111111 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 Profundidade de pixel (k) = 8 número de níveis de intensidade (L) = 2 8 00000000 00010000 00100000 0110000 01000000 01010000 01100000 01110000 10000000 10010000 10100000 10110000 11000100 1101100 11100000 11111111 • O número, b, de bits necessários para armazenar uma imagem digitalizada é • Imagem de k bits • Quando o pixel de uma imagem pode ter 2 k níveis de intensidade • Profundidade de pixel = k • Imagem com 256 (2 8 ) tons de cinza = imagem de 8 bits • Profundidade de pixel = 8 Representação de Imagens Digitais b ~ M x N x k Representação de Imagens Digitais Número de bits necessários para armazenar uma imagem digital NxN com 2 k tons de cinza • Imagem digital colorida (ou multibandas) • No modelo RGB uma imagem colorida é constituída por três componentes, uma para cada cor • O modelo RGB é usado para reproduzir cores em dispositivos eletrônicos como monitores de TV e computador, "datashows", scanners e câmeras digitais Representação de Imagens Digitais • Imagem digital colorida Representação de Imagens Digitais • Considere uma imagem RGB na qual cada uma das imagens, vermelha, verde e azul, seja uma imagem de 8 bits. • Cada pixel de cores RGB (um trio de valores [R,G,B]) tem uma profundidade de 24 bits • 3 planos de imagem multiplicado pelo número de bits de cada plano • O termo fulll-color costuma ser usado para expressar uma imagem de cores RGB de 24 bits • O número de cores em uma imagem RGB de 24 bits é (2 8 ) 3 = 16.777.216. Representação de Imagens Digitais • Há situações em que é necessária uma extensão da imagem para uma terceira dimensão, a qual representa, em geral, o espaço ou o tempo. • Assim, uma imagem digital 3D pode ser representada como uma sequencia de imagens monocromáticas ou multibandas ao longo do eixo espacial z ou do eixo temporal t, conhecida como imagem multidimensional. • Equipamentos tomográficos geram imagens monocromáticas de cortes (ou fatias) normalmente paralelas e uniformemente espaçadas em uma dada região 3D. Representação de Imagens Digitais • Considerando as dimensões p × p de um pixel nessas imagens e o espaçamento d entre os cortes, a extensão do pixel em 3D forma um pequeno paralelepípedo de dimensões p × p × d, que é chamado voxel (acrônimo do inglês volume element). Representação de Imagens Digitais Componentes de um sistema de digitalização de imagens Digitalizador Visualização Scanner, Câmera, Sensores, etc. Filtragem, Armazenagem Imagem Imagem Imagem Digital •Aquisição •Armazenamento •Processamento Digitalização de sinais Sinais digitais só podem assumir valores discretos, enumeráveis, normalmente de um conjunto limitado de valores possíveis Digitalização da imagem Digitalização • Os processos de divisão da imagem contínua e determinação dos valores numéricos de intensidade de cada pixel são chamados de amostrageme quantização • Amostragem • Processo de discretização espacial • Quantização • Processo de discretização em intensidade • A combinação destes dois processos é o que se denomina de digitalização de imagens • Sempre se referindo ao pixel como sendo a menor unidade de atribuição de uma imagem digital Amostragem • Processo de discretização espacial • Digitalização dos valores de coordenadas M=14 e N=12 Amostragem • A resolução espacial da imagem digital é a quantidade de elementos da matriz por unidade de distância • A resolução espacial também pode ser expressa em pontos (pixels) por unidade de distância. • Nos estados unidos essa medida é expressa como dots per inch (pontos por polegada ou dpi) Amostragem a) Qual imagem possui maior resolução espacial? Porque? b) Quais são as dimensões em m 2 dos pixels nas imagens A e B? Amostragem • Contraste visual entre diferentes resoluções em áreas urbanas • Ao colocar a imagem de baixa resolução na mesma escala das imagens de alta resolução, fica evidente a diferença de qualidade da imagem. • A escala é a relação matemática entre as dimensões do objeto real e a do desenho que o representa em um plano ou um mapa Amostragem • Considerando uma cena de tamanho fixo, a resolução espacial pode ser expressa pela quantidade de linhas e colunas da matriz • Exemplos: 1024 x 1024 ,512 x 512, 256 x 256, 100 x 100. Amostragem Exemplo da digitalização de uma imagem em diferentes resoluções espaciais para uma mesma cena 512 x 384 256 x 192 128 x 96 64 x 48 Maior Resolução Menor Resolução Amostragem • O que aconteceria se déssemos um zoom na duas imagens? 512 x 384 64 x 48 Amostragem • A imagem de menor resolução ampliada perde completamente os seus detalhes.... Zoom na imagem de maior resolução Zoom na imagem de menor resolução Resolução espacial • O aumento da resolução resulta em uma imagem de melhor qualidade mais do que simplesmente uma imagem de maiores dimensões • O que aconteceria se aumentássemos o tamanho da imagem de menor resolução para que fique da mesmas dimensões da imagem de maior resolução? • Não é zoom que estamos dando.... Resolução espacial 512 x 384 64 x 48 (“aumentada”) As duas imagens estão com 512x384 pixels... Elas são iguais? Resolução espacial • Ou seja, a resolução de uma imagemsó pode ser melhorada com uma novo processo de digitalização • Mudar as dimensões da imagem não gera o mesmo resultado de uma nova digitalização Discretização de Cor • Quantização • Digitalização dos valores de amplitude • Mesmo conceito de amostragem, mas aplicado ao universo de tons de cinza e cores • Em sinais, o que a amostragem faz em um domínio (eixo x, por exemplo), a quantização faz em outro (eixo y, por exemplo) Quantização Sinal Original Quantização Amostragem (Relacionado à x) Quantização Quantização (Relacionado à f(x)) Quantização • Em termos de imagem, a amostragemcria a matriz referente à imagem (define as dimensões da matriz) e a quantização define a “cor” de cada célula da matriz pode assumir Quantização • Cada cor é representada por um número inteiro (geralmente entre 0 e 255) • Cada número inteiro é representado pelo seu equivalente em binário • Exemplos: • 2 cores = 1 bit (0 ou 1) • 256 cores = 8 bits (00000000 até 11111111) Quantização 256 cores (k=8) , ∈ [0,1,2, …, 254,255] Quantização 16 milhões cores = 24 bits 256 cores = 8 bits 16 cores = 4 bits 2 cores = 1 bit Quantização 256 tons de cinza 128 tons de cinza 64 tons de cinza 32 tons de cinza Quantização 16 tons de cinza 8 tons de cinza 4 tons de cinza 2 tons de cinza Digitalização • Por que mais megapixels em uma câmera fotográfica não significa melhor qualidade de imagem? Digitalização • E por que mais megapixels em uma câmera fotográfica não significa melhor qualidade de imagem? • A qualidade da imagem está relacionada ao número de pixels, M x N, usados para representa-la E ao número de níveis de intensidade, L. Conteúdo • Relacionamentos básicos entre pixels • Vizinhança • Conectividade • Operações lógicas • Operações aritméticas Relacionamentos básicos entre pixels Vizinhança • Um pixel p, de coordenadas (x,y), tem 4 vizinhos horizontais e verticais, cujas coordenadas são N 4 (p)={(x+1, y), (x-1, y), (x, y+1) , (x, y-1)} • Estes pixels formama chamada "4-vizinhança" de p Relacionamentos básicos entre pixels • Os quatro vizinhos diagonais de p são os pixels de coordenadas N d (p)={(x-1, y-1), (x-1, y+1),(x+1, y-1), (x+1, y+1)} • A "8-vizinhança" de p é definida como N 8 (p)=N 4 (p)+N d (p) Relacionamentos básicos entre pixels Conectividade • A conectividade entre pixels é um importante conceito usado para estabelecer limites de objetos e componentes de regiões em uma imagem • Dois pixels estão conectados se eles são vizinhos e se seus níveis de cinza satisfazem a um determinado critério de similaridade. • Podemos expressar por V um conjunto de valores de intensidade utilizados para definir conectividade. Conectividade • Emuma imagembinária, onde os pixels podemassumir os valores 0 e 1, dois pixels podem ser vizinhos, mas somente serão considerados conectados se respeitaremumcritério de similaridade • Expressamos por V o conjunto de valores de intensidade utilizados para definir a adjacência. • Em uma imagem de escala de cinza, o conjunto V normalmente contém mais de umelemento • A relação de conectividade pode considerar diferentes vizinhanças: vizinhaça-4, vizinhaça-8... Relacionamentos básicos entre pixels Conectividade • Sendo V = {1}, pixels vizinhos de valor 1 serão conectados Relacionamentos básicos entre pixels 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 Pixels 4-conectados 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 Pixels 8-conectados Conectividade Adjacência • Um pixel p é adjacente a um pixel q se eles forem conectados Caminho • Caminho é uma sequência de pixels adjacentes V={0} Conectividade Região • Com R representando um subconjunto de pixels em uma imagem, chamamos R de uma região da imagem se R for um conjunto conexo • Se existir pelo menos um caminho ligando quaisquer dois pixels de R V={0} • 2 regiões considerando adjacência 8 • 3 regiões considerando adjacência 4 Relacionamentos básicos entre pixels Exemplo: destaque as diferentes regiões da imagem considerando adjacência 4 e 8 com V = {1} 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 Regiões utilizando adjacência 4 Regiões utilizando adjacência 8 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 Relacionamentos básicos entre pixels 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 Regiões utilizando adjacência 4 Regiões utilizando adjacência 8 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 Relacionamentos básicos entre pixels Medidas de distância • Dados os pixels p, q e z, de coordenadas (x,y), (s,t) e (u,v), respectivamente, define-se a função distância D, cujas propriedades são: I. D(p,q) ≥ 0 (D(p,q) = 0 se e somente se p = q) II. D(p,q) = D(q,p) III. D(p,z) ≤ D(p,q) + D(q,z) • Exemplo: distância Euclidiana Operações • Operações pontuais com mais que uma imagem de entrada • Operações lógicas • Operações aritméticas Operações lógicas • Quando lidamos com imagens binárias, as regiões de interesse (objetos) na imagem estão associadas aos pixels com valor 1 e o fundo da imagem(background) aos pixels com valor 0 • Operações lógicas entre objetos de imagens binárias: • NÃO (not) • OU (OR) • E (AND) • OU exclusivo (XOR) • “lógicas” provêm da lógica matemática na qual 1 e 0 expressam verdadeiro e falso, respectivamente Operações lógicas Objeto = 1 Background = 0 Operações lógicas AND OR A B A B Operações lógicas XOR (A B) - (A B) Operações aritméticas • Adição • Subtração • Multiplicação Operações com Imagens Operação Operações com Imagens Adição Operações com Imagens Subtração Problema de underflow: • Resultado da subtração dá valores menores que 0 para alguns elementos • Imagem satura no 0 Operações com Imagens Multiplicação Problema de overflow: • Resultado da subtração dá valores maiores que 255 para alguns elementos • Imagem satura no 255 Operações com Imagens ROI – region of interest • Uma utilização comum de multiplicação de imagens é no mascaramento, também chamado de região de interesse ( ROI, Region Of Interest) x = Exemplo – Detecção de movimento • Subtração na detecção de movimento • Subtração de uma imagem em que parte da imagem esteja em movimento ou tenha se modificado • A subtração irá gerar uma clara fronteira entre as regiões que se movem e as regiões estáticas Exemplo – Detecção de movimento x = Binarização Exercícios data de entrega: próxima aula 1. Uma medida comum de transmissão de dados digitais é o baud rate, definido como o número de bits transmitidos por segundo. Em geral, a transmissão é feita em pacotes consistindo em um bit de início (start bit, que marca o início da transmissão), um byte (8 bits) de informação e um bit de parada (stop bit, que indica o fim da transmissão). Dado esses fatos responda: a) Quantos minutos levaria para transmitir uma imagem de 1.024 x 1.024 com 256 níveis de cinza utilizando um modem de 56K bauds? b) Quanto tempo levaria em 3000K bauds, uma velocidade representativa de uma linha telefônica do tipo DLS (Digital Subscriber Line)? Exercícios data de entrega: próxima aula 2. Qual a profundidade de uma imagem com 65536 níveis de cinza? Exercícios data de entrega: próxima aula 3. Um pacote aplicativo de processamento de imagens utiliza um formato proprietário de arquivos de imagem, no qual os primeiros 32 bytes são reservados para o cabeçalho, onde estão, dentre outras, as informações das dimensões vertical e horizontal da imagem. Após o cabeçalho, a imagem é armazenada no arquivo na base de 1 byte por pixel, linha após linha, sem nenhum tipo de compactação. Sabendo que as imagens armazenadas neste formato são representadas em 256 tons de cinza, qual será o tamanho (em bytes) de um arquivo de imagem contendo 230 pixels na horizontal e 100 pixels na vertical? Exercícios data de entrega: próxima aula 4. Considere duas imagens em tons de cinza, A e B, com |DA| = 100×200 e |DB| = 200 × 400 pixels respectivamente. A primeira cobre uma área de 10 × 20 cm 2 e a segunda uma área de 100 × 200 cm 2 . a) Qual imagem possui maior resolução espacial? b) Qual deveria ser o tamanho da imagem A para possuir a mesma resolução espacial da imagem B? c) Quais são as dimensões em cm 2 dos pixels nas imagens A e B? d) Qual é o comprimento de um segmento de reta em A, que vai do pixel p = (0, 0) ao pixel q = (50, 100)? e) Quantos bytes são necessários para armazenar A, se os valores dos pixels vão de 0 a 2000? Qual é a profundidade de A neste caso? Exercícios data de entrega: próxima aula 5. Considere os dois subconjuntos de imagens, S1 e S2 mostrados na figura a seguir. Para V = {1}, determine se esses dois subconjuntos são (a) adjacentes-4 ou (b) adjacentes-8. Dois subconjuntos são considerados adjacentes se sua união formar um conjunto conexo. Exercícios data de entrega: próxima aula 6. Considere os dois subconjuntos de imagens, S1 e S2 mostrados na figura a seguir. Para V = {1}, determine se esses dois subconjuntos são (a) adjacentes-4 ou (b) adjacentes-8. Dois subconjuntos são considerados adjacentes se sua união formar um conjunto conexo. Exercícios data de entrega: próxima aula 7. Considere o segmento de imagem mostrado ao lado. a) Se V = {0,1}, calcule os comprimentos dos caminhos -4 e -8 mais curtos entre p e q. Se um caminho específico não existir entre esses dois pontos, explique por quê. O comprimento do caminho é igual ao número de pixels do caminho. b) Faça o mesmo para V = {1,2}. Exercícios data de entrega: próxima aula 8. Considere o trecho de imagem a seguir, representado por uma matriz, onde cada elemento da matriz corresponde ao nível de cinza do pixel correspondente. Seja V = {250, 251, 252, 253, 254, 255}. Calcule os comprimentos dos caminhos -4 e -8 mais curtos entre p e q Exercícios data de entrega: próxima aula Objeto = 1 Background = 0 A B Exercícios data de entrega: próxima aula 10. Dê as expressões para os conjuntos mostrados em cinza na figura a seguir em termos dos conjuntos A, B e C. As áreas em cinza em cada figura constituem um conjunto, de forma que cada uma das três figuras deve ter uma expressão correspondente. Bibliografia • GONZALEZ, R. G., e WOODS, R., “Processamento Digital de Imagens”, São Paulo, Edgard Blücher, 2000. • VIEIRA NETO, Hugo e MARQUES FILHO, Oge - Processamento Digital de Imagens – 1999 - Acadêmica – Brasport