Распознавание образов в Matlab - PullRequest
0 голосов
/ 01 марта 2011

сначала я не уверен, что это правильное место, чтобы задать этот вопрос, но у меня есть вопрос об обработке изображений. Я пытаюсь написать код распознавания образов в Matlab. У меня есть объектный ввод размером 256x256 пикселей, необработанные данные включают в себя заглавную букву "ABCD" и фильтр, который также содержит необработанные данные 256x256 пикселей, включая заглавную букву "A", и все буквы имеют одинаковые размеры. Мой код будет:

  1. Сначала прочитайте эти два необработанных данных файлы в matlab, показать эти изображения
  2. Возьмите 2-мерную Фурье-форму объекта и фильтра, покажите эти изображения
  3. Возьмите конъюгат фильтра,
  4. Умножить их
  5. Возьмите 2-мерную Фурье-форму 4,
  6. показать выход 5. 5. 1014 *

Этот код предназначен для поиска автокорреляции A на входе и на выходе. При этом взаимные корреляции между B, C, D и A в фильтре будут на выходе, но их интенсивности будут меньше, чем автокорреляция A. Вкратце, в этом коде мы пытаемся использовать метод свертки, а не корреляцию, и делаем это в частотной области. Я написал код, но он не работает точно, особенно выводится неправильное изображение. Я также ищу правильную функцию для загрузки необработанных файлов в Matlab. Мой код:

%%%EE 520 HW 3
%%%Problem # 2
clear all; close all; clc;
load fA258.mat;
load fO.mat;
figure(1)
subplot(211)
imshow(o)
title('Image of the OBJECT');
subplot(212)
imshow(fa)
title('Image of the FILTER');
F=fft2(fa,256,256);
F1=fftshift(F);
F2=log(abs(F));
O=fft2(o,256,256);
O1=fftshift(O);
O2=log(abs(O));
f1=ifft2(F);
o1=ifft2(O);
figure(2)
subplot(211);
imshow(o1);
title('Check for Object');
subplot(212)
imshow(f1);
title('Check for Filter');
figure(3)
subplot(211)
imshow(log(abs(fftshift(O)) + 1), [])
title('FT of Object'); 
subplot(212)
imshow(log(abs(fftshift(F)) + 1), []) 
title('FT of Filter');
Fc=conj(F1);
Y=O1.*Fc;
y=fft2(Y);
figure(4)
subplot(211)
imshow(log(abs(fftshift(y)) + 1), [])
title('Output');
subplot(212)
imshow(y)

Спасибо.

1 Ответ

1 голос
/ 01 марта 2011

Вы хотите выполнить обратное преобразование Фурье на шаге 5.

...