Página 1 de 1

Pattern Matching -> MATLAB ( convolução )

MensagemEnviado: 10 Nov 2008 13:02
por andre_luis
Pessoal,

Alguem poderia indicar algum tutorial passo-a-passo, ou exemplo de como realizar um reconhecimento de padrão realizando convolução ? ( por DFT já tenho um exemplo ).

Eu gostaria de comparar a performance em ambos.

Obrigado.

+++

Re: Pattern Matching -> MATLAB ( convolução )

MensagemEnviado: 10 Nov 2008 15:22
por Jorge_Francisco
andre_teprom escreveu:Pessoal,

Alguem poderia indicar algum tutorial passo-a-passo, ou exemplo de como realizar um reconhecimento de padrão realizando convolução ? ( por DFT já tenho um exemplo ).

Eu gostaria de comparar a performance em ambos.

Obrigado.

+++


Então, quer algo complexo? Que tipo de padrão?Simétrico?Assímetrico? Quando diz reconhecimento padrão está referindo-se a imagens discretas? Se for, pode usar os algoritmos conhecidos em computação gráfica.

Nunca usai DFT, fica bom?, vou procurar um exemplo.

Abraço

Re: Pattern Matching -> MATLAB ( convolução )

MensagemEnviado: 10 Nov 2008 19:22
por andre_luis
Jorge,

Me baseei no seguinte exemplo :

http://www.dspguide.com/ch24/7.htm

Eu fiz um programinha no MATLAB que funcionou "relativamente" bem com a função fft ( tipo, gerou 2 máximos; era pra ser um ). Mas usando a função conv2 nao funcionou.

Acho que eu deveria usar a mesma relação de potencia-de-dois que o camarada usou ( 100 + 29 - 1 = 128 )

Código: Selecionar todos

clc       ;
clear all ;
echo off  ;

padrao = imread('1.bmp');
%padrao = edge(padrao);
%padrao = smoothts( padrao , 'b' , 4 );
padrao = mat2gray(padrao); %Normaliza valores
padrao = im2double(padrao);
%padrao = fft2(padrao);
c1 = fft(padrao) ;
imwrite( padrao , '11.BMP' , 'bmp' ) ;

padrao_direita = imread('2menor.bmp');

%padrao_direita = edge(padrao_direita);
%padrao_direita = padrao_direita' ;
%padrao_direita = fliplr(padrao_direita) ;
%padrao_direita = padrao_direita' ;
%padrao_direita = fliplr(padrao_direita) ;
%padrao_direita = smoothts( padrao_direita , 'b' , 4 );
padrao_direita = mat2gray(padrao_direita); %Normaliza valores
padrao_direita = im2double(padrao_direita);
%padrao_direita = fft2(padrao_direita);
c2 = fft(padrao_direita) ;
imwrite( padrao_direita , '22.BMP' , 'bmp' ) ;

d = c1 .* c2 ;
imwrite( d , 'MULT_FFT.BMP' , 'bmp' ) ;



Obrigado.

+++