15.07.2013 Views

Titel: Om fingeraftryk – komprimering med ... - of Arne Mejlholm

Titel: Om fingeraftryk – komprimering med ... - of Arne Mejlholm

Titel: Om fingeraftryk – komprimering med ... - of Arne Mejlholm

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.3 De enkelte moduler og deres funktioner. 7. Udvikling af programmet<br />

7.3.7 Sammenligning<br />

Funktioner<br />

Dette modul foretager en sammenligning mellem det komprimerede og det<br />

originale billede, for at undersøge om der er nogle store forskelle mellem<br />

dem. Til dette bruger vi tre forskellige metoder:<br />

• Pixel vs. Pixel<br />

• Modul sammenligning<br />

• Vektor norm opstilling<br />

Alle disse metoder giver hver et bud p˚a, hvorledes billedet har ændret sig<br />

under <strong>komprimering</strong>s processen.<br />

Beskrivelse af funktionerne i modulet<br />

Vi vil nu beskrive funktionerne af de ovennævnte metoder i modulet. De<br />

forskellige sammenlignings teknikker benytter næsten de samme variable<br />

som input til deres funktioner. Vi har derfor valgt at sætte dem sammen i<br />

en struktur (struct), som vi har kaldt “sammenligning”. Den indeholder de<br />

to billeder, som skal sammenlignes, informationen om deres størrelse, filenavn<br />

p˚a det originale og det komprimerede billede. De værdier vi benytter<br />

til sammenligningsteknikkerne er de nummeriske værdier, af de to billeders<br />

differens i de enkelte indgange. Vi f˚ar et nyt array, som indeholder differenserne<br />

fra de to billeder. Efter forklaringen af de enkelte funktioners form˚al<br />

beskrives hvad funktionen tager ind som input, og hvad den returnerer.<br />

total match<br />

Denne sammenligningsteknik er den mest simple af vores sammmenligningsalgoritmer.<br />

Funktionen sammenligner alle pixels i billederne. Det vil sige<br />

at der foretages en total sammenligning af billederne pixel for pixel.<br />

a[j, k] = b[j, k] (7.1)<br />

Hvor a og b er de to arrays, som repræsenterer pixelen i billedet og j, k<br />

er index tal i arrayet. Vi opdeler antallet af pixels i to variabler alt efter, om<br />

de har den samme værdi. Den optæller alts˚a antal af pixel, som ikke passer<br />

overens <strong>med</strong> det originale billedes pixels. P˚a den m˚ade f˚ar man en variabel,<br />

hvori man kan se hvor mange pixels, der har ændret værdi og der<strong>med</strong> deres<br />

farve. Denne test siger ikke noget om hvad værdien er ændret til.<br />

Funktionen tager en pointer, der refererer til en struct af type sammenligning,<br />

som henholdsvis indeholder det komprimerede billede, det originale,<br />

82

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!