Stap 2: CEMENT (Computer verbeterde meerdere blootstelling techniek)
CEMENT (Computer verbeterd meerdere blootstelling numerieke techniek) is een concept en de eenvoudige computerprogramma dat ik gemaakt van ongeveer 30 jaar geleden, in de jaren 1980, in FORTRAN en daarna geport naar "C". Ik gebruik nog steeds het regelmatig (meerdere keren per dag in een typische werkdag) en in ware DIY stijl is het best bewaard rauwe en eenvoudig (bijvoorbeeld opdrachtregelinterface, niets te chique of geavanceerde). Dit is in feite allemaal zo eenvoudig dat u gemakkelijk het zelf schrijven kunt zonder gevangen worden gehouden aan een API of de SDK!
Toch geeft het u een krachtig instrument voor het beheer van verlichting en posities.
Door de jaren heen die ik die pixel gevonden heb zaken tellen (meer megapixels) minder dan dynamisch bereik, het bereik van lightspace en verlichting in het algemeen. Mijn HDR oog glas alleen worden uitgevoerd met NTSC resolutie nog staat u mij toe om te zien beter dan de meeste camera's, als gevolg van een dynamisch bereik van meer dan 100.000, 000:1, hoewel het aantal pixels is niet te hoog.
De beste manier om controle over vorderingen is te gebruiken meerdere belichtingen, elke blootstelling afzonderlijk beheren. Schieten van iets dat heeft LED-lampjes op, een beeldscherm of TV-scherm, bijvoorbeeld één schot genomen met de flitser of ambient licht, als andere genomen zonder flash of zonder het omgevingslicht (bv. in het donker) kunnen worden gecombineerd met de Computer verbeterd meerdere blootstelling numerieke techniek (CEMENT) die ik heb uitgevonden voor het combineren van meerdere anders verlichte foto's van de dezelfde scène of onderwerp.
Hierboven zie je voorbeelden van foto's nam ik met een 4-uur lange blootstelling, en een tien jaar durende blootstelling, met behulp van CEMENT (HDR met 9 blootstelling haakjes om de 2 minuten voor 10 jaar).
Ik heb de meeste van mijn tijd werken via de filosofische, inventieve en wiskundige aspecten van CEMENT en minder tijd schrijven grote code, zodat de programma's zijn zeer primitieve en eenvoudig, in echte DIY stijl, dus verwacht niet grote code. Je kan het downloaden vanaf http://wearcam.org/cement.tgz
Hier is ook een spiegelplaats in geval wearcam.org is bezig met het serveren van aanvragen:
http://www.eyetap.org/cement.tgz
CEMENT is bedoeld om te worden uitgevoerd op een eenvoudige GNU Linux computersysteem.
Maken (compileren), het programma, met behulp van gcc.
Als u te veel moeite om het hebt te compileren, kunt u overslaan naar stap 3 en doen met behulp van Octave in plaats daarvan.
Er zijn enkele voorbeeldafbeeldingen u kunt leren en testen met in de hoofddirectory van CEMENT. Zie dat deze aanwezig zijn:
$ ls *.jpg
sv035.jpg sv080.jpg sv097.jpg sv100.jpg sv101.jpg
Nu kunt u proberen CEMENT.
Eerst genereren een opzoektabel:
$ makeLookup
Met CEMENT, worden afbeeldingen gecombineerd in de lightspace, zodat u een van de afbeeldingen eerst omzetten in lightspace, het naar een andere afbeelding cement en vervolgens het resultaat te naar imagespace converteren.
Als u de zorg over dit u kunt lees meer over comparametric en superposimetric vergelijkingen, of u kunt gewoon aannemen, we doen van het recht van de wiskunde, en blijven.
Zodra u de opzoektabel genereert, kunt u het toepassen op de eerste afbeelding, bijvoorbeeld laten we zeggen we willen CEMENT 35 en 80 samen, zullen we beginnen met het initialiseren met sv035.jpg met behulp van RGB (rood, groen, blauw) waarden 1 1 1 (wit):
$ cementinit sv035.jpg 1 1 1 -o spimelapse.plm
Init sv035.jpg (powLookup22.txt) 1 1 1 100%
Als u bent te makeLookup vergeten krijgt u een foutmelding:
Kan niet openen van powLookup22.txt.
Segmentatiefout
Ik hou van machines, dus in plaats van afrit sierlijk, ik afdrukken van een waarschuwing en laat de ruwe lompe afslag optreden.
Als je eenmaal cementinit gaande van sv035.jpg hebt u een draagbare Lightspace kaart, gemaakt met de bestandsnaam spimelapse.plm
Nu de tweede afbeelding CEMENT in dat PLM:
$ cementi spimelapse.plm sv080.jpg 1 1 1
p: 2.2 exp: 22 filename: powLookup22.txt
Toevoegen van sv080.jpg 1 1 1 100%
en het resultaat terug omzetten in imagespace:
$ plm2pnm spimelapse.plm -o spimelapse.jpg
Maken van spimelapse.jpg (powLookup22.txt) -1-1 -1 100%
Nu hebt je gewoon CEMENTed twee foto's samen!
Als je dit veel, klik op "Ik maakte het!" en upload de twee invoerafbeeldingen en het resultaat van de CEMENTed.