Rozpoznawanie obrazów za pomocą funkcji korelacji.

Transkrypt

Rozpoznawanie obrazów za pomocą funkcji korelacji.
Rozpoznawanie obrazów za pomocą funkcji korelacji.
Literatura:
GNIADEK K. „OPTYCZNE PRZETWARZANIE INFORMACJI”
Pytanie kontrolne: Co to jest funkcja korekacji?
Wczytujemy "jakiś" obraz.
bw = imread('text.tif');
Uwaga: ten obrazek jest czarno-biały i w negatywie; chodziło o to, żeby wysokie wartości liczbowe były w
miejscu, gdzie jest napis, a w Matlabie biały kolor to 255, a czarny 0; istotne jest również, że wymiar
obrazka to 256 na 256 pikseli.
Wyświetlamy obrazek:
figure(1);
imagesc(bw);
bierzemy z obrazka fragmęt, który będziemy usiłowali rozpoznać (można użyć funkcji "imcrop")
a=bw(49:71,110:120); %wybieramy fragmęt rysunku = jedną literę.
Pokazujemy wybór:
Figure(2);imagesc(a)
Wybrana została litera "a". Obrazek ten obracamy o 1800 poprzez dwukrotny obrót o 900:
a = rot90(a,2);
co wynika z faktu, że funkcja korelacji nie jest zwykłym splotem:
splot = x(t ) ⊗ y (t ) =
∫ x(τ ) y(t − τ )dτ
Tylko splotem funkcji „obróconej”:
korelacja = x(t ) ⊗ y (− t ) =
∫ x(τ ) y(τ
− t )dτ
Obliczamy teraz:
C = real(ifft2(fft2(bw) .* fft2(a,256,256)));
Uwagi: w powyższym wyrażeniu obliczono transformatę Fouriera z całego obrazka "bw" oraz ransformatę
z literki "a"; w tym drugim przypadku obrazek literki został uzupełniony zerami tak, aby miał wymiar
256x256 pikseli – w ten sposób obie transformaty mają ten sam wymiar i można je pomnożyć; po
wymnożeniu (tablicowym, a nie macierzowym) bierzemy odwrotną transformatę, a później jej część
rzeczywistą.
Wyświetlamy wynik:
imagesc(C)
Szukamy maksimum w tablicy C tzn. maksimum funkcki korelacji:
ma = max(C(:))
Wyświetlamy te piksele, dla których funkcja korelacji przewyższa arbitralnie ustaloną wartość 90%
wartości maksymalnej:
imagesc(C > 0.9*ma)
W tych miejscach zostały znalezione literki "a". Tak naprawdę została również znaleziona literka "ą".
Sprawozdanie powinno zawierać:
1.Wykonanie powyższego przykładu,
2.wykonanie własnego przykładu (tzn. wykonanie poyzszech czynnosci własnym zbiorze wejściowym)
3.zbadanie „jakości rozpoznawania” dla różnych wartości progu, - pomocne może być dokładniejsze
zbadanie funkcji korelacji przez wykonanie różnych wykresów tej funckji.

Podobne dokumenty