Schieten voor een functie van de Homepage: Timelapse en multi-blootstelling Fotografie DIY-Hoe (maken of uw eigen code schrijven!) (3 / 6 stap)

Stap 3: Controleer uw resultaten: hoe te schrijven van uw eigen versie van CEMENT en testen om te zien hoe goed het werkt!


Hoe kunnen we weten hoe goed werkt CEMENT?

Een manier om het te testen is om 3 foto's van een scène of object verlicht door 2 lampjes, zoals hierboven weergegeven (uit onze ICIP2004 papier; zie referentie aan einde van papier).

De eerste foto, de oproep het "v1.jpg", is een foto genomen met een licht ingeschakeld. Roepen dat een licht lamp 1. In ons geval is dat de lamp aan de linkerkant van onze studio ruimte (Let op hoe het werpt schaduwen aan de rechterkant van hun overeenkomstige objecten).

De tweede foto, de oproep het "v2.jpg", is een foto met dat licht uitgeschakeld en een ander licht ingeschakeld, zeg lamp 2 ingeschakeld, dus v2 is de foto zoals alleen verlicht door lamp 2. In ons geval, lamp 2 is het het recht van onze studio ruimte (Let op hoe het werpt schaduwen aan de linkerkant van hun overeenkomstige objecten).

De derde foto, de oproep het "v3.jpg", is een beeld met beide lichten ingeschakeld samen. Merk op hoe wij het zien van dubbele schaduwen in deze foto.

Nu probeer CEMENTing v1 en v2 samen, noemen het resultaat "v12.jpg".

Nu test om te zien hoe gelijkaardige v12 is aan v3.

De gemakkelijkste manier om te lezen van deze beelden in een array is om de raw beelden te downloaden:

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

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

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

maar hebt u een langzame netto-verbinding, gewoon pak de .jpeg-afbeeldingen en decomprimeren van hen:

djpeg-grijs v1.jpg > v1.pgm
djpeg-grijs v2.jpg > v2.pgm
djpeg-grijs v3.jpg > v3.pgm

vervolgens uit de header bewerken zodat u de onbewerkte gegevens, opgeslagen, laten we zeggen, als de bestanden "v1", "v2" en "v3".

U kunt dit doen in Matlab, maar als je in de ware geest van DIY, zult u liever met het gratis + opensource-programma "octave": sudo apt-get install octaaf, en probeer dit:

fid1=fopen('v1');
fid2=fopen('v2');
fid3=fopen('v3');
v1=fread(fid1,'uint8');
V1=reshape(v1,2000,1312); deze dimensies zijn ervan uitgaande dat u hebt gedownload van 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))

Die wordt geretourneerd:

e = 9.0995e + 09

Als u hebt gedownload van Instructables, de afmetingen van de afbeelding kunnen hebt gewijzigd, bijvoorbeeld als de dimensies iets van 1024 bij 672 zijn en wijzigt u vervolgens de bovenstaande opdrachten omvormen:

V1=reshape(v1,1024,672);
en hetzelfde geldt voor de V2 en V3.

We hebben twee net de twee single-lamp afbeeldingen samen in octaaf, door simpelweg het toevoegen van hen samen en getest om te zien hoe vergelijkbaar zij zijn naar de afbeelding met beide lampjes op gecementeerd.

Nu in plaats van deze toe te voegen, probeer het nemen van de vierkantswortel van de som van de kwadraten, d.w.z. als een metriek "afstand":

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

en wat je krijgt is een veel lagere fout:

ans = 6.5563e + 08

Nu proberen cubing hen en het nemen van de kubus wortel; Hier is de fout nog steeds een beetje lager:

ans = 2.2638e + 08

Meer in het algemeen, kunnen we verhogen hen tot sommige exponent, n, en neem dan de wortel van n. Natuurlijk hoeft niet n noodzakelijkerwijs een integer zijn. Dus laten we proberen een hele hoop verschillende "n" waarden en een grafiek van de fout worden uitgezet als functie van de "n". Kunnen we dit mooi door het schrijven van een eenvoudige Octave-functie in een bestand genaamd "err.m":

functie err=err(v1,v2,v3,N)
if(nargin~=4)
DISP ("err moet precies 4 Invoerargumenten: v1, v2, v3, n");
eind % als
if(Max(size(N))) > 1
DISP ("err alleen aanbiedingen met vector N, niet matrices van N");
eind % als
voor k=1:length(N)
n=N(k);
V12=(v1.^n+v2.^n).^(1../n);
Err (k) = sum(sum((v12-v3). ^ 2));
eind % voor

Nu in een lange lijst we CEMENT voor een hele hoop van de "N" waarden testen kunnen, bijvoorbeeld laten we proberen 1000 verschillende N waarden, gaande van 1 tot en met 10:

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

De fout voor elk van deze bestaat uit:

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

dat is ten minste ongeveer 3.27 of 3,28 (dicht bij gelijke voor die waarden van N), dus laten we zeggen dat de optimale waarde van de "N" 3.275.

De optimale waarde van de "N", is afhankelijk van de functie van de reactie van een specifieke camera, die in mijn geval de Nikon D2h is.

Anderen die hebben gedaan dit Instructable verslag "N"-waarden voor andere camera's, dus stel ik voor de oprichting van een "massale Superposimetric Chart' net als de"The Massive Dev grafiek"voor de film:

Massale Superposimetric grafiek:
Camera maken en model nummer "n" Response functie
Nikon D2H 3.275
Nikon D60 3.3
Sony RX100 2.16
Canon Powershot S50 2.1875

Verder te gaan:

We hebben hier een eenvoudige machtswet voor illustratieve doeleinden gebruikt, maar in feite kunnen we iets veel krachtiger: we kunnen eigenlijk ontgrendelen de geheimen van een camera, niet-versterkten, d.w.z. bepalen zijn ware antwoord functie, van drie foto's, zoals hierboven, maar in plaats van voor een "n" op te lossen we oplossen voor de 256 vermeldingen van de functie van quantimetric camera reactie. Zie bijvoorbeeld:

Manders, Corey, Chris Aimone en Steve Mann. "Camera reactie functie terugwinning van verschillende illuminations van identieke leerstof." In de beeldverwerking, 2004. SPIE ' 04. 2004 international Conference on, vol. 5, pp. 2965-2968. IEEE, 2004.

Gerelateerde Artikelen

3D scan, 3D render klei sculpturen in roestvrij staal via digitale renderings voor een voorstel van de kunst

3D scan, 3D render klei sculpturen in roestvrij staal via digitale renderings voor een voorstel van de kunst

Ik ben een beeldend kunstenaar met een opleiding in de traditionele schilderkunst en beeldhouwkunst, de School of Visual Arts met een BFA in de schilderkunst hebben voltooid.Na het werken in een studio van Jeff Koons voor meer dan twee jaar, heb ik i
Maken van de in hoogte verstelbare voetjes voor een blok van slager - gemaakt op Techshop

Maken van de in hoogte verstelbare voetjes voor een blok van slager - gemaakt op Techshop

iemand die ik onlangs commisioned een snijplank van mij - als Ken beschreven in mijn eerder instructable hoe maak je een einde graan snijplank. Maar in plaats van een normale grootte snijplank, ze wilden een full-on slager blok, en ik besloot dat het
Maken van een touw handvat voor een keten van Jugger

Maken van een touw handvat voor een keten van Jugger

dit instructable is onderdeel van een serie kijken naar productie van materieel voor gebruik in een sport genaamd "Jugger." Jugger is een spel dat is afgeleid van een jaren 1980 actie film genaamd "The Blood of Heroes" geschreven door
Vinden van eigenschappen voor een probleem van de Turbine thermodynamica

Vinden van eigenschappen voor een probleem van de Turbine thermodynamica

Stoomturbines zijn een gemeenschappelijk element van thermodynamica problemen. Doordat waterdamp uit te breiden, de turbine genereert energie voor een power system. Dit instructable leert u eigenschappen zoekt een Isentropische turbine. Isentropische
Een professionele Prototype Case opzetten voor een Router van Linksys WRT54G serie in drie weken

Een professionele Prototype Case opzetten voor een Router van Linksys WRT54G serie in drie weken

Want dit is mijn eerste Instructable en het eerste 3D gedrukte prototype heb ik ooit gedaan ik heb geprobeerd uit te leggen zo gedetailleerd mogelijk wat ik heb gedaan en heb geprobeerd om zoveel foto's als ik kon. Als u nog vragen gelieve vragen en
Smokkelaars vak voor een midden van de eeuw Van

Smokkelaars vak voor een midden van de eeuw Van

oude busjes uit de vroege 60 's, zoals mijn 1965 Ford Econoline, zijn ontworpen om compacte en worden beschouwd als de eerste minibusjes.  Er is een goede hoeveelheid ruimte binnen maar geen plek om waardevolle spullen uit het zicht opsluiten, tenzij
Gebruik van hout, gelamineerde bevloering voor een top van de Bank werk

Gebruik van hout, gelamineerde bevloering voor een top van de Bank werk

dit is mijn eerste instructable dus zet op uw rose gekleurde glazenIk vond sommige vloeren bij habitat voor de mensheid voor over een bok per stuk en zij wist waar mooie tufsteen, maar een top van de Bank? Dus nam ik een klauw hamer aan een stuk, en
(Zeer) Goedkoop en gemakkelijk Kar voor een Project van de wetenschap-eerlijke...

(Zeer) Goedkoop en gemakkelijk Kar voor een Project van de wetenschap-eerlijke...

Mijn zoon van tweede-rang zijn Science Fair is invoeren en moet een kar voor de frisdrank fles raket die hij maakt.Ik trok mijn vaardigheden van de Corel Draw samen te komen met een (eenvoudige?) wiel en kar-lichaamsontwerp te bouwen en te gebruiken
Bug-Out vat voor een gezin van vier

Bug-Out vat voor een gezin van vier

Dit is een ander voorbeeld van een outdoor survival kit voor die tijden wanneer u moet evacueren in een haast of moet u sommige noodvoorraden in uw huis. Deze kits worden meestal genoemd Bug-Out zakken en er zijn al verschillende goede INSTRUCTABLES
Hoe te repareren van een auto opgeteld voor een fractie van de "schatting".

Hoe te repareren van een auto opgeteld voor een fractie van de "schatting".

A little HistoryIn 2004 kocht mijn dochter haar "droomauto" die op het moment een 1998 Dodge Intrepid ES was. Het was sportief en rood. Het had ook een heleboel andere goede dingen gaande is, zoals een 3.2 liter 24 ventiel motor, tractiecontrole
Hoe maak je een nummerplaat beugel voor een motorfiets (van schroot)

Hoe maak je een nummerplaat beugel voor een motorfiets (van schroot)

ik had een geweldig idee voor een motorfiets nummerplaat beugel, maar ik wilde ook om mijn fiets op de weg voordat ik had de tijd nodig om te maken wat ik had in mijn hoofd.  Ik moest dus een tijdelijke oplossing. Tijdelijke, ik wil eigenlijk niet te
Dremel een Batman schuim Board model voor een mal van gips

Dremel een Batman schuim Board model voor een mal van gips

dit is wellicht een beetje laat voor Halloween dit jaar maar als je als me moet u enkele praktijk en een sprong op volgend jaar. De belangrijkste hulpmiddelen die ik gebruikte was de Dremel dus heb ik besloten om dit aangaan met de Dremel wedstrijd,
Maken van KISS band kostuums voor een gezin van 4 +

Maken van KISS band kostuums voor een gezin van 4 +

Dus je een gezin van 4, een ton van de tijd op uw handen en een diep verlangen hebt om kostuums zelf samenstellen? U kunt het doen met geduld, een weinig lopend rond de stad, en een heleboel van willekeurige materialen. You gonna moet bedenken hoe wa
Glazen houder voor een verzamelaar van glazen

Glazen houder voor een verzamelaar van glazen

Geen rechter mij door mijn bril schat. Minstens bent zij georganiseerd! Ik heb al piekeren over dit idee voor een tijdje nu daar heb ik een heleboel bril. Jaar geleden die ik $300 + voor een paar glazen en dragen betalen zou ze totdat ze viel uit elk