www.imageprocessingbook.com © 2004 r. c. gonzalez, r. e. woods, and s. l. eddins digital image...
TRANSCRIPT
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Convenções de coordenadas: (a) da maioria dos livros (b) no Image Processing Toobox (IPT - MATLAB)
(a) (b)
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Alguns formatos gráficos/imagem suportados pelo MATLAB.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• Leitura de imagens
imread (‘filename’)
f = imread (‘chestxray.jpg’);
• A função size fornece as dimensões em linha e coluna de uma imagem size (f) ans = 1024 1024
• Essa função é útil também quando usado na seguinte forma: [M, N] = size (f);
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• A função whos mostra informações adicionais sobre a imagem;
whos f
Name Size Bytes Class
f 1024x1024 1048576 uint8 array
Grand total is 1048576 elements using 1048576 bytes
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
imshow (f, G) MOSTRA A IMAGEM
onde f é o nome da matriz de imagem e G é o número de níveis de intensidade, usado para mostrá-la. Se G é omitido, o default é 256.
imshow (f, [low high]) mostra como preto todos os valores abaixo de low e em branco todos os valores
acima de high. imshow (f,[ ]) low passa a ser o menor valor de intensidade de pixel na matriz de imagem e high passa a ser o maior valor. Essa forma é útil para mostrar imagens com baixo
intervalo dinâmico ou que tenha valores positivos e negativos.
pixval mostra um cursor sobre a última imagem mostrada, as coordenadas e a intensidade do pixel correspondente ao cursor na base da imagem. Clicando sobre o X, o cursor desaparece.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Janela mostrando como uma imagem aparece no MATLAB.Contudo, na maioria dos exemplos somente imagens serão mostradas.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• Se uma outra imagem g é mostrada usando imshow, a anterior é substituída.
• Para manter a imagem anterior e mostrar uma segunda imagem, usar a função figure:
figure, imshow(g)
• Se usar
imshow(f), figure, imshow(g)
mostra as duas imagens
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• Escrevendo imagens
imwrite (f, ‘filename’)
imwrite (f,’patient10_run1’,’tif’)
ou
imwrite(f,’patient10_run1.tif’)
Uma sintaxe mais aplicável somente em imagens JPEG é
imwrite (f,’filename.jpg’,’quality’,q)
onde q é um inteiro entre 0 e 100 (menor o númeor, maior é a degradação devido à compressão JPEG).
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
(a) Uma imagem, h, com baixo intervalo dinâmico.(b) resultado usando imshow (h, [ ]).
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
(a) Imagem original(b) a (f) resultado usando valor de qualidade jpg q = 50, 25, 15, 5, 0, respectivamente.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• Para se ter idéia da compressão e obter outros detalhes do arquivo de imagem, usa-se a função imfinfo, com a sintaxe
imfinfo filename
Uma forma geral de escrita para o formato tif é dada por imwrite (g, ‘filename.tif’,’compression’, ‘parameter’,... ‘resolution’,[colres rowres])
onde ‘parameter’ pode ter um dos seguintes valores: ‘none’ se não tiver compressão, ‘packbits’ indica compressão packbits (default para imagens não-binárias), e ‘ccitt’ indica compressão ccitt (default para imagens binárias). [colres rowres] indicam resolução de coluna e de linha em dots-per-unit (o valor default é [72 72]). Se a imagem é em polegadas, colres é o número de dots (pixels) por inch (dpi) na direção vertical e rowres na direção horizontal. Se representar usando um único escalar res significa [res res].
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• A fig. 2.5(a) é uma imagem de raios-X de 8 bits de um circuito impresso gerado durante uma inspeção de qualidade, no formato jpg, a 200 dpi.
• A imagem é de tamanho 450x450 pixels, tal que a sua dimensão é de 2.25x2.25 polegadas2.
• Queremos armazenar essa imagem no formato tif, sem compressão, com o nome sf. Queremos reduzir o tamanho da imagem para 1.5x1.5 polegadas2, mantendo o número de pixels de 450x450.
• O seguinte comando gera o resultado desejado:
imwrite(f, ‘sf.tif’,’compression’,’none’,’resolution’,[300 300])
• O valor do vetor [colres rowres] foi obtido multiplicando 200 dpi pela razão 2.25/1.5 que resulta em 300 dpi.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Efeitos de alteração da resolução dpi mantendo o número de pixels. (a) 450x450 a 200 dpi tamanho = 2,25 x 2,25 pol. (b) 450x450 a 300 dpi tamanho = 1,5 x 1,5 pol.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Classe de dados
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Funções do IPT para converter classes de imagens e tipos
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
• Imagens de intensidade É uma matriz de dados cujos valores representam a intensidade. Quando os
elementos de uma imagem são da classe uint8, ou uint16, os valores estão no intervalo [0,255] e [0, 65535], respectivamente. Se uma imagem é de classe double, os valores são números ponto-flutuante, e estão escalados no intervalo [0,1].
• Imagens binárias uma matriz numérica A pode ser convertida em imagem binária B usando a função
logical B = logical (A) Se A contem elementos diferentes de 0s e 1s, a função logical converte todos os
valores não-zero em valor lógico 1 e todos os valores numéricos 0 em valores lógicos 0.
• Para testar se uma matriz C é binária, usa-se a função islogical islogical (C).
TIPOS DE IMAGEM
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2: FundamentalsChapter 2: Fundamentals
(a) Imagem original(b) Flip vertical(c) Recorte (d) Subamostragem(e) Linha de valores na imagem original
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Operações aritméticas em imagens. Ex: A + B
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Funções aritméticas suportadas pelo IPT.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Operadores relacionais
Operadores lógicos
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Funções lógicas
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Algumas funções que retornam valor lógico 1 ou 0.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Algumas variáveis e constantes importantes.
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Comandos de controle de fluxo
www.imageprocessingbook.com© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Digital Image Processing Using MATLAB®Digital Image Processing Using MATLAB®
Chapter 2Fundamentals
Chapter 2Fundamentals
Imagem senoidal.