PROCESSAMENTO DIGITAL DE SINAIS II
Introdução Simplificada ao processamento de imagens
Uma imagem digital é uma informação de fotografia na forma digital, como tal as imagens digitais podem ser processadas através de filtros de diversas naturezas de modo a:➢ a) Remover ruído para evidenciar detalhes difíceis de
perceber de forma normal.➢ b) Extrair aspectos para que possibilitem o reconhecimento
de padrões específicos (detalhes biométricos)➢ c) As imagens digitais podem ser comprimidas para
armazenagem digital e recuperadas quando necessário.➢ d) As imagens digitais podem ser transmitidas pela rede de
computadores para se obter diagnósticos a distância.
As imagens digitaisconsistem de pixels ondea posição de cada pixel é especificada em termos
de um índice para a posição da coluna e outro
para a posição da fila.
P(2,8)=86
A figura abaixo mostra que o pixel p(2,8) tem um nível 86 e está localizado na segunda fila e oitava coluna.
O número de pixels de uma apresentação de uma imagem digital é sua resolução espacial, que está relacionada com a qualidade da imagem. Quanto maior for a resolução espacial, melhor será a qualidade da imagem. Algumas resoluções comuns são:
a) 320 x 200 = 64000 pixels = 64 kilopixels (baixa qualidade)b) 1600 x 1200 = 1.920.000 pixels = 1,92 megapixels (alta qualidade)
Na notação o número representado a esquerda é a largura do quadro (imagem) e o da direita a sua altura.A qualidade da imagem também depende do número de bits utilizado para codificar cada pixel.
Escala de cinza de 8 bits
Se um pixel é codificado em escala de cinza de 0 a 255, onde 0 = preto e 255 = branco, o número entre esses dois limites correspondem a uma imagem em escala de cinza.Uma imagem de 8 bits com 640 x 480 requer 307,2 kbytes de armazenagem.
Imagens coloridas de 24 bits
• Em uma representação de imagem colorida cada pixel é gravado em termos de componentes em vermelho (red), verde (green) e azul (brue) (RGB) . Cada componente requer 8 bits o que resulta em 24 bits para cada pixel. Com tal imagem é possível representar 𝟐𝟐𝟒 =𝟏𝟔, 𝟕𝟕𝟕𝟐𝟏𝟔.𝟏𝟎𝟔 cores diferentes. Uma image de 640 x 480 em 24 bits requer 921.6 kilobytes para armazenagem.
IMAGENS COLORIDAS DE 8 BITS
• Esse formato de imagem é muito popular. Seus pixels tem um índice de cor que aponta para um tabela de verificação (loockup table) que contemas componentes RGB. Isso é denominado IMAGEM COLORIDA INDEXADA e o formato é mostrado na figura abaixo:
A INTENSIDADE NAS IMAGENS
• As imagens em preto e branco utilizam uma escala de cinzas que vai de 0 a 255 para apresentar sua luminância, ouintensidade de luz. O MATLAB opera essa faixa de valoresNORMALIZANDO-OS no formato FLOAT entre 0.0 (preto) e 1.0 (branco).
A CONVERSÃO DAS COMPONENTES RGB PARA A ESCALA DE CINZA
• Em algumas aplicações precisamos converter uma imagem RGB para a escala de cinza de modo a economizar espaço de armazenamento nos computadores. Um exemplo disso são as impressões digitais que são armazenadas em escala de cinza em uma base dados. Um outro exemplo é a compressão de imagens coloridas que converte o padrão RGB pat o padrão YIQ, onde Y é a luminância, ou canal Y, que presenta a intensidade da luz, I é o in-space (espaço) e Q é a quadratura que correspondem aos canais de crominância com os detalhes de cor.
A luminância Y(m,n) transporta os detalhes de informação da escala de cinza com a maioria da energia do sinal (cerca de 93%).
Os canais de crominância I(m,n) e Q(m,n) transportam a informação de cor que tem muito menos energia (cerca de 7%). A transformação em termos de notação matricial padrão é :
𝑌(𝑚, 𝑛)𝐼(𝑚, 𝑛𝑄(𝑚, 𝑛)
=0,299 0,587 0,1140,596 −0,274 −0,3220,212 −0,523 0,311
𝑅(𝑚, 𝑛)𝐺(𝑚, 𝑛)𝐵(𝑚, 𝑛)
𝑅(𝑚, 𝑛)𝐺(𝑚, 𝑛𝐵(𝑚, 𝑛)
=1,000 0,956 0,6211,000 −0,272 −0,6471,000 −1,106 1,703
𝑌(𝑚, 𝑛)𝐼(𝑚, 𝑛)𝑄(𝑚, 𝑛)
Cuja inversa é:
RGB YIQ
YIQ RGB
Exemplo 1Dado um pixel em uma imagem RGB:
R = 200, G = 10 , B = 100Converta esse pixel para valores YIQ.
𝑌𝐼𝑄
=0,299 0,587 0,1140,596 −0,274 −0,3220,212 −0,523 0,311
20010100)
=77,0784,2668,27
Arredondando os valores
𝑌𝐼𝑄
= 𝑟𝑜𝑢𝑛𝑑77,0784,2668,27
=778468
Exemplo 2
Converta um pixel de uma imagem colorida YIQ de volta para valores do padrão RGB.
𝑅𝐺𝐵
=1,000 0,956 0,6211,000 −0,272 −0,6471,000 −1,106 1,703
778468
=199,5310,1699,90
𝑅𝐺𝐵
= 𝑟𝑜𝑢𝑛𝑑199,5310,1699,90
=20010100
Arredondando:
Exemplo 3:
Dada uma imagem 2 x 2 RGB, converta-a de imagem colorida RGB para uma imagem em escala de cinza.
𝑅 =100 50200 150
𝐺 =10 2520 50
𝐵 =10 520 15
Visto que somente a componente Y é mantida na escala de cinza, podemos aplicar somente a mesma na imagem 2 x 2 e arredondar o resultado para números inteiros.
Y = 0.299 ×100 50200 150
+ 0.587 ×10 2520 50
+ 0.114 ×10 520 15
= 37 3074 76
Sumário das funções MATLAB para conversão no formato das imagens
imread= lê o arquivo de imagem com formato especificado.X=Imagem em escala de cinza de 8 bits, imagem colorida de 8 bits indexada ou imagem colorida RGB de 24 bits.map=tabela de mapa de cores para as imagens indexadas (256 entradas)imshow(X,map)=Mostra a imagem de 8 bits no displayimshow(X)=mostra a imagem RGB de 24 bits no display se estiver no formato RGB de 24 bits, imagem em escala de cinza se a imagem X estiver no formato de 8 bits em escala de cinza.ind2gray=conversão de imagem colorida indexada de 8 bits para imagem de 8 bits em escala de cinza.ind2rgb=conversão de imagem colorida indexada de 8 bits para RGB de 24 bits.rgb2ind=conversão de RGB 24 bits para imagem colorida indexada de 8 bits.rgb2gray=conversão de RGB de 24 bits para imagem de 8 bits em escala de cinza.im2double= conversão de imagem de 8 bits em intensidade mat2gray=conversão de dados de imagem para intensidadeim2uint8-=conversão de intensidade de imagem para escala de cinza de 8 bits
Histograma de imagem e equalizaçãoUm histograma de imagem é um gráfico que mostra quantos pixels estão em cada nível da escala, ou em cada índice para o caso de imagens coloridas. O histograma contem a informação necessária para a equalização da imagem, ou seja onde os pixels da imagem estão alongados para dar um contraste razoável.
Histograma em escala de cinza e equalização
Exemplo 4:Produza um histograma da imagem (dada pela matriz de números inteiros) em valores de escala de cinza na faixa de 0 a 7, ou seja com os pixels codificados por 3 bits.
0 1 22 1 11 3 4
2 62 13 3
0 2 5 1 1
Histograma em escala de cinza e equalização
Exemplo 4:Produza um histograma da imagem (dada pela matriz de números inteiros) em valores de escala de cinza na faixa de 0 a 7, ou seja com os pixels codificados por 3 bits.
0 1 22 1 11 3 4
2 62 13 3
0 2 5 1 1Solução:
Nível do pixel p(m,n) Número de pixels
0 2
1 7
2 5
3 3
4 1
5 1
6 1
7 0
Baseado na contagem da distribuição da escala de cinza, o histograma é criado como mostra a figura, de onde pode-se perceber que que ocorre uma concentração de pixels, nesse exemplo, maior na escala de preto.A partir do histograma uma técnica de equalização pode ser desenvolvida. A equalização alonga a faixa da escala do nivels do pixels para um nível de faixa integral, o que melhora o contraste da imagem em questão. Para utilizar esse técnica, a nova escala dos valores dos pixels é redefinida como:
𝑝𝑒𝑞 𝑚, 𝑛 =𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑝𝑖𝑥𝑒𝑙𝑠 𝑐𝑜𝑚 𝑛í𝑣𝑒𝑙 𝑑𝑒 𝑒𝑠𝑐𝑎𝑙𝑎 ≤ 𝑝(𝑚, 𝑛)
𝑁ú𝑚𝑒𝑡𝑜 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑝𝑖𝑥𝑒𝑙𝑠× (𝑁í𝑣𝑒𝑙 𝑚á𝑥𝑖𝑚𝑜 𝑑𝑎 𝑒𝑠𝑐𝑎𝑙𝑎)
Exemplo 5Considere a imagem relacionada a matriz do exemplo 4 em escala de cinza de 3 bits. Execute uma equalização utilizando o histograma e esboce o histograma da imagem equalizada.
Solução:Utilizando o resultado do histograma podemos calcular a FDC de cada nível da escala de cinza como mostra a tabela abaixo. O nível dos pixels atualizados é dado na última coluna.
Nível do pixel p(m,n)
Frequência de pixels por nível
Função Distributiva Cumulativa
Nível dos pixels equalizados
0 2 2
20= 0,1
Round(0,1× 7) = 1
1 70,1 +
7
20= 0,45
Round(0,45 × 7) = 3
2 5 0,45 +5
20= 0,7 Round(0,7× 7) = 5
3 30,7 +
3
20= 0,85
Round(0,85 × 7) = 6
4 10,85 +
1
20= 0,9
Round(0,9× 7) = 6
5 10,9 +
1
20= 0,95
Round(0,95 × 7) = 7
6 10,95 +
1
20= 1.0
Round(1× 7) = 7
7 01.0 +
0
20= 1.0
Round(1× 7) = 7
Baseado na contagem da distribuição da escala de cinza, o histograma é criado como mostra a figura, de onde pode-se perceber que que ocorre uma concentração de pixels, nesse exemplo, maior na escala de preto.
0
0.2
0.4
0.6
0.8
1
1.2
0 1 2 3 4 5 6 7
FDC
Nível do pixel
Função Distributiva Cumulativa (FDC)
1 3 55 3 33 6 6
5 75 36 6
1 5 7 3 3
0 1 22 1 11 3 4
2 62 13 3
0 2 5 1 1
MATRIZ ORIGINAL MATRIZ EQUALIZADA
02
0
7
0
5
4
2
0 1 2 3 4 5 6 7Frq
uê
nci
ad
os
pix
els
Nivel do pixel
Distribuição da contagem de pixels (EQUALIZADA)
2
7
5
3
1 1 1 0
0 1 2 3 4 5 6 7
Frq
uê
nci
ad
os
pix
els
Nivel do pixel
Distribuição da contagem de pixels (ORIGINAL)
Equalização de Imagens coloridas de 24 bits
Para aplicar a técnica do histograma às imagens RGB, é necessário primeiro transformar a imagem RGB para o padrão YIQ visto que o canal Y contem a maior parte da energia do sinal de imagem, ou cerca de 93%.A partir dai o canal Y é equalizado da mesma forma como se faz com uma imagem em escala de cinza para expandir a luminância da imagem. Os canais I e Q são deixados como estão, já que o sinal de cor não é necessário para a equalização.Após a equalização o sinal de luminância equalizado é re-empacotadojuntamente os sinal I e Q e agora transformados de volta para o padrão RGB.
RG
B
YI
Q Yeq
Yeq
QI
RG
B
Equalizaçãode imagens coloridas de
24 bits apenas no canal de
luminância
EQUALIZAÇÃO APENAS DO CANAL DE LUMINÂNCIA
RGB YIQEqualização da escala de cinza
Re-enpacotamentopara YIQImagem RGB
equalizada
Equalizaçãode imagens
coloridasindexadas de
8 bits
Equalizaçãode imagens coloridas de 24 bits direto
nascomponentes
RGB
Ajuste dos níveis de imagem e contraste
O ajuste do nível da imagem pode ser obtido expandindo linearmente o pixel de uma imagem para aumentar o contraste e deslocando o nível do pixel para alterar os efeitos visuais. O ajuste do n´vel de imagem também é uma necessidade para a modificação resultante de filtragem e outras operações para a faixa apropriada de display (tela).
O ajuste linear do nível
Existem casos onde a faixa dos pixels de uma imagem é pequena e ajustes são necessários para obter uma imagem completa. Assim o contraste da imagem é expandido.Fórmula para o ajuste:
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 𝐹𝑢𝑛𝑑𝑜 +𝑝 𝑚, 𝑛 − 𝐿
𝐻 − 𝐿× (𝑇𝑜𝑝𝑜 − 𝐹𝑢𝑛𝑑𝑜)
Onde p(m,n)=pixel da imagem originalPajuste(m,n)=pixel da imagem desejadaH=Nível máximo do pixel da imagem originalL=Nível mínimo do pixel da imagem originalTopo=Nível máximo do pixel da imagem desejadaFundo=Nível mínimo do pixel da imagem desejada
Exemplo:
Considere a seguinte imagem (matriz preenchida com números inteiros) com valores na escala de cinza entre 0 e 7 (três bits). a) Execute um ajuste de nível para a faixa completa.b) Desloque o nível para a faixa entre 3 e 7.c) Desloque o nível para a faixa entre 0 e 3.
3 45 3
4 53 3
4 43 5
4 53 4
Solução (a):H=5 e L=3 Topo=8-1=7 Fundo=0
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 0 +3−3
5−3× (7 − 0) = 0
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 0 +4−3
5−3× (7 − 0) = 4
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 0 +5−3
5−3× (7 − 0) = 7
0 47 0
4 50 0
4 40 7
4 70 4
3 57 3
5 73 3
5 53 7
5 73 5
Solução (b):
H = 5, L = 3, Topo=7, Fundo=3
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 3 +3−3
5−3× (7 − 3) = 3
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 3 +4−3
5−3× (7 − 3) = 5
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 3 +5−3
5−3× (7 − 3) = 7
0 23 0
2 30 0
2 20 3
2 30 2
H = 5, L = 3, Topo=3, Fundo=0
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 0 +3−3
5−3× (3 − 0) = 0
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 0 +4−3
5−3× (3 − 0) = 1,5 ->2
𝑝𝑎𝑗𝑢𝑠𝑡𝑒 𝑚𝑛 = 0 +5−3
5−3× (3 − 0) = 3
Solução (c):
FORMATOS DE IMAGENS:
Formato TIFF (TIF)O formato TIF ou TIFF (Tagged Image File Format - Formato de Arquivo de Imagem com Tags) é um formato de arquivos gráficos bitmap.O formato TIFF é um antigo formato gráfico que permite armazenar imagens bitmap (raster) de grande dimensão (mais de 4 GB compactados), sem perda de qualidade e em qualquer plataforma ou dispositivo utilizado (Device-Independant Bitmap - DIB). ele permite armazenar imagens em preto e branco e em cores reais (True color, até 32 bits por pixels) assim como imagens indexadas, fazendo uso de uma paleta de cores. Além disso, o formato TIFF permite o uso de vários espaços de cores: RGB, CMYK, CIE L*a*b, YUV/YCrCb.
Formato JPEG (JPG)
O formato JPEG, cuja sigla significa Joint Photographic Experts Group, teve sua primeira especificação disponibilizada em 1983 por um grupo que leva o mesmo nome. É um dos padrões mais populares da internet por aliar duas características importantes: oferece níveis razoáveis de qualidade de imagem e gera arquivos de tamanho pequeno quando comparado a outros formatos, facilitando o seu armazenamento e a sua distribuição.O JPEG possibilita isso porque é um formato que utiliza compressão de imagens. Mas, o que é isso? Em poucas palavras, compressão consiste na eliminação de dados redundantes nos arquivos. No caso de imagens, é possível fazer a compressão de forma que a retirada de informações não prejudique a qualidade (lossless - sem perda), assim como é possível utilizar níveis maiores de compressão que causam perdas visíveis (lossy - com perda).