Titel: Om fingeraftryk – komprimering med ... - of Arne Mejlholm
Titel: Om fingeraftryk – komprimering med ... - of Arne Mejlholm
Titel: Om fingeraftryk – komprimering med ... - of Arne Mejlholm
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