www.imageprocessingbook.com © 2004 r. c. gonzalez, r. e. woods, and s. l. eddins digital image...

25
www.imageprocessingbook.com 04 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Convenções de coordenadas: (a) da maioria dos livros (b) no Image Processing Toobox (IPT - MATLAB) (a) (b)

Upload: internet

Post on 17-Apr-2015

113 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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)

Page 2: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 3: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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);

Page 4: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 5: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 6: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 7: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 8: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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).

Page 9: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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, [ ]).

Page 10: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 11: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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].

Page 12: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 13: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 14: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 15: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 16: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 17: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 18: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 19: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 20: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 21: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 22: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 23: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.

Page 24: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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

Page 25: Www.imageprocessingbook.com © 2004 R. C. Gonzalez, R. E. Woods, and S. L. Eddins Digital Image Processing Using MATLAB ® Chapter 2 Fundamentals Chapter

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.