next up previous contents
Next: Muut algoritmit Up: Toiminnot Previous: Tavalliset vertailut

Rotaatioinvariantit vertailualgoritmit

angle_quality *compare_polar_complex(image_complex *in1, image_complex *in2,
                                     int n_best, angle_quality *result_array,
                                     rfftw_plan plan);
Funktio compare_polar_complex vertaa napakoordinaattimuodossa olevia Fourier-kuvia in1 ja in2 käyttäen luvussa 7.3.1 esiteltyä menetelmää. Vertailtavien kuvien pitää olla kaksiulotteisia ja niiden dimensioiden pitää olla samat. Parametri n_best ilmoittaa kuinka monta parasta löydettyä vaihtoehtoa palautetaan. Taulukkoa angle_quality, jonka koon oletetaan olevan vähintään n_best, käytetään palautusarvon välittämiseen: Taulukkoon talletetaan parhaat löydetyt kulmat hyvyysinformaation mukaan järjestettynä. Jos result_array == NULL, funktio varaa tuloksen tallettamista varten kokoa n_best olevan angle_quality-taulukon. Parametri rfftw_plan on FFTW-kirjaston [#!fftw!#] generoima suunnitelma Fourier-muunnoksen laskemiseksi.

Funktio palauttaa osoittimen tulostaulukkoon, paitsi jos in1- ja in2-kuvien dimensiot eivät vastaa toisiaan, n_best <= 0 tai rfftw_plan == NULL, joissa tapauksissa palautetaan NULL.

angle_quality *filter_polar_complex(image_complex *in1, image_complex *in2,
                                    int n_best, angle_quality *result_array,
                                    rfftw_plan plan);
Funktio filter_polar_complex vertaa napakoordinaattimuodossa olevia yksiulotteisia Fourier-kuvia in1 ja in2 laskemalla niiden korrelaation. Muiden parametrien ja palautusarvojen käsittely hoidetaan samoin kuin ylläkuvatussa funktiossa compare_polar_complex.

sectors *create_sectors(int steps, int w, int h);

angle_quality *compare_sectors_image_real(sectors *sector_table, 
                                          image_real *in1, 
                                          image_real *in2,
                                          int n_best,
                                          angle_quality *result_array);
Funktio create_sectors luo w 7#7 h -kokoisen sektoritaulukon (katso luku 5.2.3). Parametri steps ilmoittaa kuinka moneen tasaväliseen sektoriin taulukon ala jaetaan. Keskipisteenä sektorijaossa käytetään taulukon ``keskipistettä'' (w/2, h/2). Funktio palauttaa osoitteen luotuun sektoritauluun. Taulukon dimensioiden w ja h sekä sektorien määrän steps on oltava positiivisia.

Funktio compare_sectors_image_real vertaa kuvia in1 ja in2 rotaatioinvariantisti käyttäen apuna parametrina annettua sektoritaulukkoa sector_table. Paluuarvon ja parametrien n_best ja result_array merkitys ja käyttö ovat samat kuin funktiossa compare_polar_complex. Kuvien on oltava kaksiulotteisia ja niiden dimensioiden on oltava samat kuin sektoritaulukossa.


next up previous contents
Next: Muut algoritmit Up: Toiminnot Previous: Tavalliset vertailut
T Valtteri Rahkonen
2000-04-02