Avatar billede babynamnam Nybegynder
29. januar 2002 - 22:33 Der er 13 kommentarer og
1 løsning

Billede sammenlignings software!!

Hej!

Jeg skal have fremstillet et stykke software der kan sammenligne to billeder. Dvs at hvis to billeder kaldes frem med et interval imellem, skal softwaren kunne checke om der er væsentlige forandringer fra det første billede og til det andet!!!


Avatar billede disky Nybegynder
30. januar 2002 - 08:50 #1
Puha den var straks værre.

Jeg tror umiddelbart en god løsning er at lave en fourier transformation hvor du får opløst billedet i et spectrum, så kan du nemlig god se at to billeder hvor der er en lille forskel i farverne faktisk er ens aligevel.

Skal den opdage bare en pixel har ændret farve, skal du bare hårdt og brutalt sammenligne pixel for pixel.

Hvad skal det bruges til ?
Avatar billede babynamnam Nybegynder
30. januar 2002 - 09:46 #2
tak for interessen disky!!!

det skal bruges som led i et digital kamera overvågningssystem, dvs at et digital kamera skal tage et billede pr. 10 sec...hvis der så fra det ene billede til det andet er sket vænsentlige forandringer, skal dette billede gennem i database!
Avatar billede ladyhawke Novice
30. januar 2002 - 10:58 #3
Der findes en masse algoritmer til det formål, så du skal være mere specifik mht. hvilken forskel du ønsker at finde. Basalt set er der 2 hovedtyper: differensmetoden og baggrundsmodelmetoden. Den første en meget nem at implementere fordi man blot finder forskellen mellem to efterfølgende billeder ved at sammenligne pixel for pixel.

baggrundsmodelmetoden er den mest almindelige. I den finder man en model for baggrunden (udfordringen betår i at fínde en god model og opdatere den rigtigt) og sammenligner modellen med det nyeste billede.

Hvis du blot mangler at finde ud af hvordan man finder forskellen mellem to billeder pixel for pixel så sig til, det er ikke så svært...
Avatar billede babynamnam Nybegynder
30. januar 2002 - 11:32 #4
tak for svaret ladyhawke....jeg er ikke helt klar over hvilken af de to metoder der ville mest hensigstmæssig at benytte. Den forskellig i billedet der skal registreres, skal ikke tage hensyn til sol lys, nat/dag, den skal f.eks registrere personer eller biler der kommer ind i billedet...så jeg ved ikke hvad du vil anbefale...
Avatar billede ladyhawke Novice
30. januar 2002 - 11:49 #5
Jeg vil helt klart anbefale baggrundsmodelmetoden ! Den giver det mest stabile resultat i forhold til bevægelsesdetektering generelt. Hvis du have konstant belysningen på scenen der overvåges OG mulighed for at optage et baggrundsbillede uden bevægelse, så ville opgaven være banal. Da det ikke er tilfældet er du nødt til at lede lidt på WWW og finde nogle algoritmer der kan bruges. Afhængigt af hvilke kameraer du anvender bør du overveje et støjfilter iden du regner yderligere på billedet...

Ved du hvordan du finder forskellen mellem to pixels (samme plads, hver sit billede)? Det er lidt bøvlet, men når først ideen er der er det ikke svært...

Mht. WWW så vil du sikkert kunne finde noget på: www.citeseer.com hvis du leder efter motion detection eller lignende...
Avatar billede babynamnam Nybegynder
30. januar 2002 - 20:53 #6
Jeg ved ikke hvordan jeg finder forskellen mellem to pixels!!. Jeg nu har valgt at have to skellige opstillinger af kameraret, et hvor det befinder sig indendørs, altså i konstant lys og et udendørs med skiftende belysning. Det gør jo så åbentbart projektet lidt nemmere mht. det konstante lys ved den indendørs opstilling!
Endnu igang tak svaret!:-)
Avatar billede jnrohde Nybegynder
31. januar 2002 - 02:20 #7
Hmm, det lyder faktisk ret spændende. Du siger at det skal bruges til at sammenligne billeder fra en scene. I dette tilfælde vil det være oplagt at bruge bevægelse som en segmentationsteknik, som en var inde på i et tidligere svar.

Den simpleste måde er, som også tidliger nævnt, differensmetoden. Du starter med et referencebillede som viser de stationære objekter; dette sammenligner du med de efterfølgende billeder. Differensen af disse to ville "udligne" de stationære komponenter så der kun er ikke-stationære billedekomponenter tilbage. Dvs. at dit differense billede ser ud som følger:

differensBillede = 1 if referenseBillede - nuværendeBillede > grænseVærdi else 0.

Ergor et binært billede hvor 1 betyder bevægelse/ændring. Tit vil et sådanne "et-tal" også resultere fra støj - en måde at undgå det på er ved at introducere en slags "hukommelse" i processen. I så tilfælde ignorerer man sporadiske ændringer der kun forekommer over nogle få frames.
Avatar billede disky Nybegynder
31. januar 2002 - 08:45 #8
jnrohde:
Den difference metode er i teorien fin, men hvis der skal en form for grabbing med er den ikke særlig anvendelig, da det genereres støj når man grabbe/digitaliserer et billeder.

Det vil sige forskel ser ud som om den er stor.

Derfor skal man lave en spectrum analyse af billeder, f.eks. fourier transformationen. Ud fra denne kan man detektere støj som værende en minimal ændring af spectrum, hvorimod ændringer der opstår fordi en person går ind i billedet, resultere i en stror ændring af spectrum.
Avatar billede disky Nybegynder
31. januar 2002 - 10:26 #9
Avatar billede ladyhawke Novice
31. januar 2002 - 13:18 #10
Hmmm, jeg ved ikke hvor seriøst dit projekt skal være, men det kan hurtigt blive ret omfattende. Jeg har selv brugt et års tid på at lave et speciale i "Netværksbaseret kameraovervågning med bevægelsesdetektering". Hvis du vil vide mere om det, kan jeg sende dig en lille klasse jeg har lavet (ImageMap) Den bruges til at indlæse et jpg. billede og giver mulighed for at finde og sætte pixelværdier... Det kræver en e-post adresse og lidt tålmodighed....
Avatar billede ladyhawke Novice
31. januar 2002 - 13:20 #11
NB Hvis du kun vil vide om der er bevægelse eller ej er diskys ide helt fin, hvis du vil vide præcist hvor bevægelsen er, skal du nok bruge en mere omfattende analyse....
Avatar billede babynamnam Nybegynder
31. januar 2002 - 13:49 #12
Du må meget gerne sende mig den lille klasse du har lavet(kampskov@vip.cybercity.dk), det ville da være helt i top!:-)
NB Ind til videre skal jeg kun kunne vide om der er sket en bevægelse i billedet!
Avatar billede babynamnam Nybegynder
02. februar 2002 - 10:57 #13
Tak for svaret disky! men jeg er nu ikke helt med på hvordan den der fourier transformation metode fungerer?!
Avatar billede disky Nybegynder
12. februar 2002 - 21:52 #14
tja men tak for ingen point da :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester