Skytte för en hemsida funktion: Timelapse och Multi-exponering fotografi DIY Hur (göra eller skriva egen kod!) (3 / 6 steg)

Steg 3: Kontrollera dina resultat: hur man skriver en egen version av CEMENT och testa den för att se hur väl det fungerar!



Hur vet vi hur bra CEMENT fungerar?

Ett sätt att testa det är att ta 3 bilder på en scen eller ett objekt upplyst av 2 lampor, som visats ovan (från vår ICIP2004 papper, se referens i slutet av papper).

Den första bilden, kalla det "v1.jpg", är en bild tagen med en ljus påslagen. Kalla den en ljus lampan 1. I vårt fall, det är lampan till vänster om vår studio utrymme (märker hur det kastar skuggor till höger om deras motsvarande objekt).

Den andra bilden, kalla det "v2.jpg", är en bild med att ljus avstängd och en annan ljus påslagen, säger lampa 2 påslagen, så v2 är bilden som upplyst endast av lampa 2. I vårt fall, lampa 2 är det höger vår studio utrymme (märker hur det kastar skuggor till vänster om deras motsvarande objekt).

Den tredje bilden, kalla det "v3.jpg", är en bild med båda lamporna vände tillsammans. Lägg märke till hur vi ser på dubbla skuggor i bilden.

Försök nu CEMENTing v1 och v2 tillsammans, kalla resultatet "v12.jpg".

Nu test för att se hur lika v12 är att v3.

Det enklaste sättet att läsa in dessa bilder i en matris är att hämta raw-bilder:

http://wearcam.org/instructableCEMENT/octave_scrip...

http://wearcam.org/instructableCEMENT/octave_scrip...

http://wearcam.org/instructableCEMENT/octave_scrip...

men om du har en långsam netto-anslutning, bara ta jpg-bilder och dekomprimera dem:

djpeg-grå v1.jpg > v1.pgm
djpeg-grå v2.jpg > v2.pgm
djpeg-grå v3.jpg > v3.pgm

redigera sedan ut huvudet så att du har rådata, sparade, låt oss säga, som filer "v1", "v2" och "v3".

Du kan göra detta i Matlab, men om du är i sann DIY-anda, föredrar du att använda gratis + opensource program "oktav": apt-get install octave och sedan prova detta:

fid1=fopen('v1');
fid2=fopen('v2');
fid3=fopen('v3');
v1=fread(fid1,'uint8');
V1=reshape(v1,2000,1312); % dessa dimensioner förutsatt att du hämtat från wearcam
v2=fread(fid2,'uint8');
V2=reshape(v2,2000,1312);
v3=fread(fid3,'uint8');
V3=reshape(v3,2000,1312);
colormap("Gray");
Image(v1/4);
Image(v2/4);
Image(v3/4);

V12 = v1 + v2;
e=Sum(Sum((V12-v3).^2))

Som returnerar:

e = 9.0995e + 09

Om du hämtat från Instructables, bilddimensioner kan ha ändrats, t.ex. om måtten något liknande 1024 av 672, sedan ändra ovanstående omforma kommandon för att:

V1=reshape(v1,1024,672);
och samma för V2 och V3.

Vi har bara cementerade två två single-lampa bilderna tillsammans i Octave, genom att lägga dem tillsammans, och testade att se hur lika de är att bilden med båda lamporna på.

Nu i stället för att lägga till dem, prova att ta kvadratroten ur summan av deras kvadrater, dvs som ett "distans" mått:

V12=sqrt(v1.^2+v2.^2);
e=Sum(Sum((V12-v3).^2))

och vad du får är en mycket lägre fel:

ans = 6.5563e + 08

Nu kan du prova cubing dem och med kubikrot; här är felet lite lägre ändå:

ans = 2.2638e + 08

Mer allmänt kan vi höja dem till vissa exponent, n, och sedan ta nth roten. Naturligtvis behöver inte n nödvändigtvis vara ett heltal. Så låt oss prova en hel massa olika "n" värden och rita ett diagram över felet som funktion av "n". Vi kan göra detta snyggt genom att skriva en enkel Octave funktion i en fil med namnet "err.m":

funktion err=err(v1,v2,v3,N)
IF(nargin~=4)
Disp ("err måste ha exakt 4 indataargument: v1, v2, v3, n");
avsluta % om
IF(max(size(N))) > 1
Disp ("err endast behandlar vektor N, inte matriser av N");
avsluta % om
för k=1:length(N)
n=N(k);
V12=(v1.^n+v2.^n).^(1../n);
fela (k) = sum(sum((v12-v3). ^ 2));
slutet % för

Nu kan vi testa CEMENT för en hel massa "N" värden i en lång lista, t.ex. Låt oss försöka 1000 olika N värden går från 1 till 10:

N=(1:.01:10).';

Fel för alla dessa är i:

e=ERR(v1,v2,v3,N);

som är minst cirka 3,27 eller 3.28 (nära lika för dessa värden på N), så låt oss säga att den optimala värdet på "N" är 3.275.

Den optimala värdet på "N" beror på en viss kamera, som i mitt fall är Nikon D2h svar funktion.

Andra som har gjort detta Instructable rapport "N" värden för andra kameror, så jag föreslår skapandet av en "massiv Superposimetric diagram" ungefär som "The massiva Dev diagram" för filmen:

Massiv Superposimetric diagram:
Kamera märke och modell nummer "n" svar funktion
Nikon D2H 3.275
Nikon D60 3.3
Sony RX100 2.16
Canon Powershot S50 2.1875

Gå längre:

Vi har använt en enkel makt lag här illustrativ, men i själva verket kan vi göra något mycket starkare: vi kan faktiskt låsa upp hemligheter av någon kamera, icke-parametriskt, dvs bestämma sin sanna svar funktion, från tre bilder, som ovan, men istället för att lösa ett "n" vi lösa för 256 quantimetric kamera svarsposter-funktion. Se till exempel:

Manders, Corey, Chris Aimone och Steve Mann. "Kameran svar funktion återhämtning från olika belysningar av identiska föremål." I bildbehandling, 2004. ICIP'04. 2004 internationell konferens om, vol. 5, s. 2965-2968. IEEE, 2004.

Se Steg
Relaterade Ämnen

Hur man gör din egen hemsida gratis i 10 minuter (med egen domän och Host)

Jag ska visa dig hur du gör din egen hemsida på mindre än 10 minuter, inklusive registrera ett gratis domännamn, registrera ett gratis webbhotell, ställa in sidor, ladda upp filer och postar innehåll - alla gratis!Bilden ovan är en av mina färdiga pl...

Hur du lägger till anpassad ikon och långt namn till din CD/DVD eller USB blixt driva

Hej, i denna tutorial ska jag visa dig "Hur att lägga till anpassad ikon och långt namn till din CD/DVD eller USB blixt driva" för absoluta nybörjare.Saker du behöver:-1. en CD/DVD eller USB-2. en fungerande dator med valfri textredigerare (ante...

Hålla katt mat skålar snyggt och diskret med detta DIY sällskapsdjur skål arrangör

Cat matskålar, i mitt hus hur som helst, verkar vara i ständig rörelse. Och sedan finns det vad jag diskret kallar "haloeffekt", som i: hur i halo deras mat fick som långt ifrån deras maträtt?Så att hålla en viss ordning och att få min DIY på, j...

HUR DU GÖR DIN EGEN IPOD HOODIES {NY OCH FÖRBÄTTRAD!}

hur man gör din egen ipod tröjor nu större och bättreDetta instructable är baserad runt min ipod touch men du kan fortfarande göra en för alla ipod.Vänligen se mitt första ipod hoodies instructable ocksåvad du behöver:tyg valsymaskin (valfritt)blixtl...

Hur du kan skapa din egen gratis hemsida med gratis webbplats byggare

Alla i behov av en hemsida utan att ha tillräckliga medel kan bygga sin egen hemsida gratis med hjälp av gratis hemsida builder. Dessa webbplats byggare bidrar till att spara pengar och att starta ett företag eller att främja en tjänst. Så, du behöve...

Plywood Honey Bee svärm bete fångst kupan och Nucleus Box - Dual Purpose hur DIY planer

Att fånga svärmar av honungsbin måste vara en av de mest spännande och fascinerande händelserna av året. Jag säger "händelse" eftersom det tenderar att ske främst i maj månad i Storbritannien. Förra året, 2015, vi fångade 9 sådana svärmar och ök...

Älskling, jag krympte Arduino: flytta från Arduino till ATtiny och skriva din kod i ren AVR-C

Arduino är en stor hård- och mjukvaruplattform, men med alla dess funktioner är det också lite uppsvälld och ofta behöver du bara en liten del av alla funktioner. Projektet kräver ibland för att ha mindre och billigare enheter. Vad du behöver är ATti...

Bärgades/återanvändas delar 5V/USB-laddare. Flera ID och multi-kontakt enheter.

Hej!Min första instructable. Kanske inte rocket science men, att vara säkert något praktiskt jag tänkte jag skulle dela.Detta är bara en dokumenterad Sammanfattning av vad jag gjorde / jag har gjort för att få till liv två fint operativa USB laddare...

Ratchet och clank groovy pistol. (Hur man gör en galen Ipod förstärkare)

Allt mer trött från alla de vanliga mp3 spelarna att se ut ändå?IPod i mitten, högtalare runt det och några alternativ du aldrig använder?Jag är inte den första som bygger sin egen Ipod förstärkare system förutom att detta är någotDet ser mycket sval...

Hur man gör en egen hemsida

Detta är en text som hjälper dig att göra en hemsida.min hemsida har denna logotyp och adressen är skylanders-universe.webs.comSteg 1: Steg 1: hitta en webb makerHitta en webb maker kan vara knepigt.Jag använde duk är det en bra sajt att göra din ege...

Flip Top kapsyl. Göra en tålig och stark kapsyl för någon vin eller öl flaska.

Varning: Detta outgrundlig är ett pågående arbete. Är i behov av en hel del arbete.Med denna Kapsylkatalog kan du stänga upp någon flaska eller burk som du vill.Du behöver.En flaska med en fälg nära mynningen av halsen. (Öl och vin och flaskor funger...

DIY - Hur att använda Arduino Uno att skicka ett mail, SMS och göra en röst kalla

Undrar hur man skickar e-post via din Arduino Uno? Var inte orolig... Denna handledning video kommer att upplysa du på steg för steg process för att skicka e-post, SMS-meddelanden samt ringa röstsamtal med 3G/GPRS sköld genom libelium kommunikation.N...

Hur du gör din egen lagring värmare från strawcrete och sten - Del1. Brico ecolo radiateur. Bricolaje calentador ecológico

Detta är början på ett projekt som vi har nu slutfört att förbättra vårt värmesystem i vardagsrummet. Vi ville ha vår vedspis både för att ge en jämnare värme och vi ville rummet behålla lite värme på morgonen. Även om våra bränsle är gratis, ville a...

Trähäst stränginstrument med greppband och laser skurna plexi DIY

Tillverkning trähästen bandförsedda och en annan plexiglas laserskärning. Jag har inga bilder på insikten steg denna gång men det är ganska enkelt.trä som:Sticksågsandpapperträlim (för att fästa till basen)lackeradeWoodPlexi material:plexiglas tavlae...

Återanvända band kablar och kopplingar för DIY projekt

God afton mina damer och herrar, och Välkommen till min Instructable.Idag ser vi hur man återanvända bandkabeln, speciellt användbar för tidy DIY projekt.Steg 1: Samla kablar Menyfliksområdet ledningar finns i många elektroniska apparater, vanligaste...

Hur man gör en lätt och elegant tabell centrum bit för jul (eller andra händelser)

att köpa en Juldekoration för bord för mindre än 20€ är i dag nästan ett omöjligt uppdrag, så varför inte skapa din egen dekoration?Så jag kommer att visa dig hur man gör detta mycket enkel, men mycket elegant, dekoration, steg för steg, med bilder s...

DIY: Hur man gör Caster och pulver socker

godis kommer i varje form, storlek, färg, konsistens och smak tänkbara. Krispigt brickles och krämig tryffel har mycket lite gemensamt... med ett undantag: socker.Socker kommer också i en mängd olika smaker och texturer, men detta instructable koncen...

Hur man gör 7up Soda Gummy flaska form och koppar - lätt DIY Jello Dessert!

Detta är en enkel och lätt steg för steg recept att göra jätte Gummy 7up läsk flaska form & koppar hemma!Tack för att titta på!Fler videor här:https://www.youtube.com/user/fixitsamo/videosFölj oss på:Instagram: https://www.instagram.com/fixitsamoFace...

Hur du gör din egen läckra och hälsosamma bröd

Efter massor av experimentera kom jag på detta recept, som är nu det enda bröd som vi har ätit i vårt hem i flera veckor. Min 5 år gamla älskar det (hon äter även skorpan!) och min fru älskar det alltför. Det är också super lätt att göra. Det enda fö...