Processamento de Imagens com MATLAB Carlos Alexandre Mello

Documentos relacionados
Processamento de Imagens com MATLAB

Objetivos. Imagens no MATLAB. Imagens no MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Processamento de Imagens com MATLAB

PCIM Laboratório 0, parte visual: Iniciação ao tratamento de imagem, vídeo e áudio no MATLAB

PRÁTICA 2. T_1: Ler a imagem mammogram.bmp e gerar seu histograma.

Introdução FILTRAGEM NO DOMÍNIO DA FREQUÊNCIA

Operações Pontuais. 1 operando. 2 operandos. Processamento e Análise de Imagem - A. J. Padilha - v ac

Tratamento de Imagens

1) Entrando com Matrizes no MatLab.

PRÁTICA 3. 1) Imagens RGB. T_1: Decompor a imagem Flor.bmp em suas três componentes RGB.

Capítulo III Processamento de Imagem

Processamento de Imagem. Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres

Fundamentos II. Guillermo Cámara-Chávez

Introdução ao processamento de imagens e OCTAVE. Julio C. S. Jacques Junior juliojj@gmail.com

Processamento Digital de Imagens. Análise de Imagens

INTRODUÇÃO AO PROCESSAMENTO DIGITAL DE IMAGENS SENSORIAMENTO REMOTO

PROCESSAMENTO DE IMAGENS

SEL Visão Computacional. Aula 2 Processamento Espacial

FILTROS ESPACIAIS PASSA-BAIXA

Estudando com o MATLAB

Processamento de Imagens Digitais

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres

Implementação de algoritmo de tratamento de imagens para detecção de falhas em cordão de solda. Rafael Marques Ilivinski

10º Guia de Laboratório de ECA412 Introdução ao Processamento Digital de Imagens

Deteção Remota e Processamento Imagem

Processamento de Imagens

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

Operações Algébricas e Lógicas. Guillermo Cámara-Chávez

FILTRAGEM DE IMAGEM NO DOMÍNIO ESPACIAL (Operações aritméticas orientadas à vizinhança)

Mandando a informática para o espaço!

Processamento digital de imagens

Tratamento da Imagem Transformações (cont.)

PRÁTICA 4. SEL5886 Visão Computacional Prof. Dr. Marcelo Andrade da Costa Vieira

Realce de imagens parte 2: ltragem espacial SCC5830/0251 Processamento de Imagens

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

PROCESSAMENTO DIGITAL DE IMAGENS

Radiométricas. Alexandre Xavier Falcão. Instituto de Computação - UNICAMP

Filtros espaciais. Processamento e Recuperação de Imagens Médicas. Prof. Luiz Otavio Murta Jr. Depto. De Computação e Matemática (FFCLRP/USP)

Curso de Extensão: Noções de Sensoriamento

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Transformações Geométricas

Faculdade de Engenharia da Universidade do Porto ANÁLISE DE IMAGENS PARA EXTRACÇÃO DE CONTORNOS. Relatório

PMR2560 Visão Computacional Conversão e Limiarização. Prof. Eduardo L. L. Cabral

Processamento e Análise de Imagens Médicas

Operações Geométricas com Imagens

Introdução ao Processamento de Imagens Digitais Aula 01

FILTRAGEM NO DOMÍNIO DAS FREQUÊNCIAS (TRANSFORMADA DE FOURIER) Daniel C. Zanotta 04/06/2015

Sistemas lineares. Realce no domínio de freqüências. Propriedades. Sistema: definição. Sistemas harmônicos e análise de sinais complexos

Filtragem no domínio de frequência

Universidade Federal do Paraná Departamento de Informática Ciência da Computação e Informática Biomédica. Tópicos em Computação

Análise de Fourier. Imagens no Domínio da Freqüência

FILTRAGEM ESPACIAL. Filtros Digitais no domínio do espaço

Filtragem de Imagens Fixas

Operações Geométricas com Imagens

Introdução ao Octave + Pacote de Processamento de Imagens

Filtros e Morfologia. Prof. Dr. Geraldo Braz Junior

Trabalhos de laboratório

Processamento Digital de Sinais

Parte 1 Questões Teóricas

fig.1 Programa implementado durante a realização do trabalho

Lição de Processamento Digital de Sinais. Operação de Zooming em Processamento de Imagem. Rui Jesus

Processamento de Imagens

Filtros espaciais (suavizaçào)

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva

Trabalho Final de Processamento de Imagens: Panografia

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

Capítulo 5 Filtragem de Imagens

Expansão/Redução de imagens no domínio das frequências

Processamento de Imagem. Compressão de Imagens Professora Sheila Cáceres

7. Color Image Processing

RELATÓRIO REGENTE: PROFESSOR DOUTOR RENATO NATAL JORGE ORIENTADOR: PROFESSOR DOUTOR JOÃO MANUEL TAVARES CO-ORIENTADOR: DOUTOR RICARDO VARDASCA

Filtragem Espacial. Guillermo Cámara-Chávez

Equalização e modificação de histogramas

Figura 1. Imagem monocromática e gráfico de sua função.

Restauração de Imagens. Tsang Ing Ren - UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Filtragem de Imagens no Domínio Espacial. 35M34 Sala 3D5 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227

Módulo 3 Amostragem de Imagens Sistema Multimédia Ana Tomé José Vieira

Introdução ao Processamento Digital de Imagens. Aula 9 Restauração de Imagens. Prof. Dr. Marcelo Andrade da Costa Vieira

Filtragem no Domínio da Freqüência Transformada de Fourier

Filtragem de Imagens no Domínio da Freqüência. 35M34 Sala 3D5 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227

Processamento de Imagens

Orientação de Bordas em Imagens Digitais: Abordagem por Análise de Vizinhança Local

Redução de imagem no domínio espacial

Trabalhos Práticos. Análise e Processamento de Imagem

Sumário. 1 Sinais e sistemas no tempo discreto 1. 2 As transformadas z e de Fourier 79

PROPOSTA DE AVALIAÇÃO DE DESEMPENHO DE ALGORITMOS DE TRATAMENTO DE IMAGENS PARA SISTEMAS EMBARCADOS

EXTRAÇÃO DE BORDAS EM IMAGEM DE ALTA RESOLUÇÃO UTILIZANDO TÉCNICAS DE PROCESSAMENTO DE IMAGEM

Rotação e Interpolação

Processamento de Imagens Coloridas. Prof. Adilson Gonzaga

PROCESSAMENTO DE IMAGENS DIGITAIS PARA VISÃO ROBÓTICA. Digital Image Processing for Robotic Vision

6 Modelo Gamma-Cetuc (GC)

Processamento digital de imagens

Trabalho 2 Fundamentos de computação Gráfica

A Utilização de Filtros Gaussianos na Análise de Imagens Digitais

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

AVALIAÇÃO QUALITATIVA DE DETECÇÃO DE BORDAS EM IMAGENS DE RADIOGRAFIA PERIAPICAIS

FEN Processamento Digital de Imagens. Projeto 2 Utilização de máscaras laplacianas

RESTAURAÇÃO E RECONSTRUÇÃO DE IMAGENS. Nielsen Castelo Damasceno

Minicurso sobre Deconvolução em Imagens

Transcrição:

com MATLAB Carlos Alexandre Mello Carlos Alexandre Mello cabm@cin.ufpe.br 1

Toolboxes Image Processing Diretório: toolbox/images/images Carlos Alexandre Mello cabm@cin.ufpe.br 2

Comando imshow(): Visualização de imagens Uso: imshow(nome_do_arquivo) Exemplo: imshow( eight.tif ) Carlos Alexandre Mello cabm@cin.ufpe.br 3

E/S de arquivos de imagem imread Lê um arquivo de imagem Uso: A = imread(filename) Exemplo: A = imread( eight.tif ) Carlos Alexandre Mello cabm@cin.ufpe.br 4

E/S de arquivos de imagem Leitura de Imagem BMP [A, MAP] = imread ( nome.bmp ) Para imagens coloridas: A = imread ( nome.bmp ); Gera uma matriz mxnx3 (onde 3 é a quantidade de planos) R = A(:, :, 1); % Matriz de tons vermelhos G = A(:, :, 2); % Matriz de tons verdes B = A(:, :, 3); % Matriz de tons azuis Carlos Alexandre Mello cabm@cin.ufpe.br 5

E/S de arquivos de imagem imwrite Escreve uma imagem para um arquivo gráfico Uso: imwrite(a, filename, FMT) FMT = formato Exemplo: imwrite(a, eight, tif ) Carlos Alexandre Mello cabm@cin.ufpe.br 6

Visualização image Mostra uma matriz C como uma imagem Uso: image(c) Exemplo: >> A= imread( eight, tif ); >> image(a) Se não especificada, é usada a paleta de cores default Carlos Alexandre Mello cabm@cin.ufpe.br 7

Visualização imzoom Zoom in ou out em uma imagem Uso: imzoom(fator) Exemplo: >> imshow( eight.tif ) >> imzoom(2) Carlos Alexandre Mello cabm@cin.ufpe.br 8

Conversão entre Tipos dither Dithering de uma imagem pelo método de Floyd-Steinberg Uso: X = dither(rgb, MAP) RGB = Imagem original MAP = Paleta de cores final Exemplo: [A,MAP] = tiffread( flowers.tif ); X = dither(a); imshow(x); Carlos Alexandre Mello cabm@cin.ufpe.br 9

Conversão entre Tipos im2bw Converte uma imagem para preto-e-branco Uso: BW = im2bw(x, MAP, level) X = Imagem original MAP = Paleta de cores da imagem original level = Valor de corte (threshold): 0 level 1 Exemplo: [A,MAP] = tiffread( eight.tif ); bw = im2bw(a,map,0.4); imshow(bw); Carlos Alexandre Mello cabm@cin.ufpe.br 10

Conversão entre Tipos rgb2gray Converte uma imagem RGB para uma imagem em tons de cinza Uso: I = rgb2gray(rgb) RGB = imagem original true color Exemplo: A = imread( flowers.tif ); I = rgb2gray(a); imshow(i); Carlos Alexandre Mello cabm@cin.ufpe.br 11

Conversão entre Tipos rgb2ind Converte uma imagem RGB para uma imagem em indexada Uso: [X, NEWMAP] = rgb2ind(rgb) NEWMAP = paleta de cores final Carlos Alexandre Mello cabm@cin.ufpe.br 12

Tipos de Imagens isbw Verdadeiro para imagens B&W isgray Verdadeiro para imagens em tons de cinza isind Verdadeiro para imagens indexadas Carlos Alexandre Mello cabm@cin.ufpe.br 13

Operações Geométricas imresize Altera o tamanho de uma imagem Uso: B = imresize(a, M, method ) Retorna uma matriz que é M vezes maior (ou menor) que a imagem A method = nearest = vizinho mais próximo bilinear = interpolação bilinear bicubic = interpolação bicúbica Carlos Alexandre Mello cabm@cin.ufpe.br 14

Operações Geométricas imresize Exemplo: >> A = imread( eight, tif ); >> B = imresize (A, 0.5, nearest ); >> imshow(b) Carlos Alexandre Mello cabm@cin.ufpe.br 15

Operações Geométricas imrotate Rotaciona uma imagem Uso: B = imrotate(a, Ângulo, method ); Method = nearest, bilinear ou bicubic Exemplo: >> A = imread ( eight, tif ); >> B = imrotate (A, 45, nearest ); >> imshow(b) Carlos Alexandre Mello cabm@cin.ufpe.br 16

Valores de Pixels e Estatísticas imhist Histograma de uma imagem Uso: imhist(a): histograma de 256 cores imhist(a, N): histograma de N cores Carlos Alexandre Mello cabm@cin.ufpe.br 17

Valores de Pixels e Estatísticas mean2 Média de uma matriz Uso: mean2(a) std2 Desvio padrão bidimensional Uso: std2(a) Carlos Alexandre Mello cabm@cin.ufpe.br 18

Realce de imagem histeq Equalização de Histograma imadjust Especificação de histograma (atribui o histograma de uma imagem A a outra imagem B) imnoise Adiciona ruído a uma imagem O ruído pode ser gaussiano, salt & pepper ou speckle Exemplo: J = imnoise(a, gaussian ); Carlos Alexandre Mello cabm@cin.ufpe.br 19

Filtragem filter2 Filtro digital 2D Uso: filter2(b,x) - Filtra a imagem X usando o filtro FIR definido pela matriz B Carlos Alexandre Mello cabm@cin.ufpe.br 20

Filtragem filter2 Exemplo: >> I=imread( rice.tif ); >> imshow(i);» h=[1 2 1; 0 0 0; -1-2 -1];» I2=filter2(h,I); % double» imshow(i2);» imshow(i2, []);» imshow(uint8(i2)); Carlos Alexandre Mello cabm@cin.ufpe.br 21

Filtragem imfilter» h=[1 2 1; 0 0 0; -1-2 -1];» I2=imfilter(I, h); % uint8» imshow(i2); Carlos Alexandre Mello cabm@cin.ufpe.br 22

Filtragem fspecial Cria um filtro 2D de um tipo específico gaussian sobel prewitt laplacian log average unsharp Carlos Alexandre Mello cabm@cin.ufpe.br 23

Filtragem fspecial Exemplo:» h=fspecial( laplacian );» I2=imfilter(I, h);» imshow(i2) Carlos Alexandre Mello cabm@cin.ufpe.br 24

Filtragem fspecial Exemplo:» h=fspecial( sobel );» I2=filter2(h,I));» imshow(i2) Carlos Alexandre Mello cabm@cin.ufpe.br 25

Filtragem linear conv2 Convolução bidimensional convmtx2 Matriz de convolução bidimensional convn Convolução n-dimensional Carlos Alexandre Mello cabm@cin.ufpe.br 26

Transformação de Imagens dct2 Transformada bidimensional discreta do cosseno B = dct2(a) fft2 FFT bidimensional B = fft2(a) fftn FFT n-dimensional B = fftn(a) Carlos Alexandre Mello cabm@cin.ufpe.br 27

FFT2 Exemplo:» f=zeros(100,100);» f(5:94,40:60)=1;» imshow(f) Carlos Alexandre Mello cabm@cin.ufpe.br 28

FFT2 Exemplo:» F=fft2(f);» F2=log(abs(F));» imshow(f2,[-1 5]);» colormap(jet);colorbar Carlos Alexandre Mello cabm@cin.ufpe.br 29

FFT2 Exemplo:» F=fft2(f,256,256);» F2 = fftshift(f);» imshow(log(abs(f2)),[-1 5]);» colormap(jet); colorbar; Carlos Alexandre Mello cabm@cin.ufpe.br 30

Transformação de Imagens idct2 ifft2 ifftn Transformadas inversas Carlos Alexandre Mello cabm@cin.ufpe.br 31

Análise de Imagem Edge: Extração de bordas Uso: BW = edge(a, method ); Exemplo: A = imread( rice, tif ); BW = edge (A, sobel ); imshow(bw); method = sobel roberts prewitt log zerocross Carlos Alexandre Mello cabm@cin.ufpe.br 32

Operações com Imagens Binárias bwmorph Aplica uma operação morfológica em imagens binárias Uso: bw2 = bwmorph(bw1, operação) Operação = clean dilate erode... Carlos Alexandre Mello cabm@cin.ufpe.br 33

Operações com Imagens Binárias imdilate Dilata uma imagem binária Uso: bw2 = imdilate(bw1, SE); onde SE é uma matriz contendo apenas 0 s e 1 s Carlos Alexandre Mello cabm@cin.ufpe.br 34

Operações com Imagens Binárias imerode Erosão de uma imagem binária Uso: bw2 = imerode (bw1, SE) SE é uma matriz de 0 s e 1 s Carlos Alexandre Mello cabm@cin.ufpe.br 35

Manipulação de Paleta de Cores brighten Clareia ou escurece uma paleta de cores Uso: brighten(beta) Se 0 < BETA < 1: A paleta é clareada Se -1 BETA < 0: A paleta escurece Carlos Alexandre Mello cabm@cin.ufpe.br 36

Imagens carregadas no formato uint8 É preciso convertê-lo para outro formato para algumas operações Operações com imagens Dadas duas imagens com as mesmas dimensões: A = imread ( imagem1, ext ); B = imread ( imagem2, ext ); C = uint8(double(a) + double(b)); imshow (C); Carlos Alexandre Mello cabm@cin.ufpe.br 37

Transformada de Fourier function img_fourier (nome, ext) nome_in = [nome '.' ext]; im = imread(nome_in); figure, imshow (im); F = fft2(im); figure; F2 = fftshift(f); imshow(log(abs(f2)), []); colormap (jet); nx = size(f, 2); ny = size(f, 1); cxrange = [0:nx/2, -nx/2+1:-1]; cyrange = [0:ny/2, -ny/2+1:-1]; [cx, cy] = meshgrid(cxrange, cyrange); fxrange = cxrange * 2*pi/nx; fyrange = cyrange * 2*pi/ny; [fx, fy] = meshgrid(fxrange, fyrange); sigma = 0.3; % Gaussiana ms = exp(-(fx.^2 + fy.^2)/(2*sigma^2)); %figure; imshow(log(ms), []); smoothf = F.* ms; smooth = ifft2(smoothf); figure, imshow(smooth, []); ftd = F.*fx.*i; % Diferenciacao ftd(:, nx/2+1) = 0; d = ifft2(ftd); figure, imshow(d, []); Carlos Alexandre Mello cabm@cin.ufpe.br 38

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 39

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 40

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 41

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 42

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 43

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 44

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 45

Transformada de Fourier Carlos Alexandre Mello cabm@cin.ufpe.br 46

Transformada de Fourier Inversa: >> F = img_fourier ('lena','bmp'); >> c = find (real(f) < 0); >> F(c) = 0; >> im2 = ifft2(f); >> figure, imshow (uint8(im2)) Carlos Alexandre Mello cabm@cin.ufpe.br 47

Transformada de Fourier Imagem original Carlos Alexandre Mello cabm@cin.ufpe.br 48

Transformada de Fourier Espectro Carlos Alexandre Mello cabm@cin.ufpe.br 49

Transformada de Fourier Imagem reconstruída (inversa de Fourier) Carlos Alexandre Mello cabm@cin.ufpe.br 50

Transformada de Fourier Imagem filtrada e reconstruída pelo código anterior Carlos Alexandre Mello cabm@cin.ufpe.br 51

Referências Imagem filtrada e reconstruída pelo código anterior Digital Image Processing, Gonzalez e Woods Análise de Imagens Digitais, Pedrini Handbook on Image Processing, Russ Carlos Alexandre Mello cabm@cin.ufpe.br 52