Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
(a)
(b)
Convenções de coordenadas:
(a) da maioria dos livros
(b) no Image Processing Toobox (IPT - MATLAB)
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Alguns formatos gráficos/imagem suportados pelo
MATLAB.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
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);
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
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
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
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.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Janela mostrando como uma
imagem aparece no MATLAB.
Contudo, na maioria dos exemplos
somente imagens serão mostradas.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
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
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
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).
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
(a) Uma imagem, h, com baixo intervalo dinâmico.
(b) resultado usando imshow (h, [ ]).
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
(a) Imagem original
(b) a (f) resultado usando
valor de qualidade jpg
q = 50, 25, 15, 5, 0,
respectivamente.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
•
Para se ter idéia da compressão e obter outros detalhes do arquivo de imagem, usase 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].
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
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.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
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.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Classe de dados
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Funções do IPT para
converter classes
de imagens e tipos
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
TIPOS DE IMAGEM
•
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).
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2: Fundamentals
(a)
(b)
(c)
(d)
(e)
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
Imagem original
Flip vertical
Recorte
Subamostragem
Linha de valores
na imagem original
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Operações aritméticas
em imagens.
Ex:
A+B
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Funções aritméticas
suportadas pelo IPT.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Operadores
relacionais
Operadores
lógicos
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Funções lógicas
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Algumas funções
que retornam
valor lógico 1
ou 0.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Algumas variáveis
e constantes
importantes.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Comandos
de controle
de fluxo
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Digital Image Processing Using MATLAB®
Chapter 2
Fundamentals
Imagem senoidal.
© 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins
www.imageprocessingbook.com
Download

Digital Image Processing Using MATLAB