HDR lenzenvloeistof: van cyborg lashelmen aan Wearable Computing in het dagelijks leven (2 / 6 stap)

Stap 2: Inzicht in de comparagram is de sleutel tot het begrijpen van HDR


Zodra u de comparagram te begrijpen, ben je goed op uw manier aan het inzicht van het fundamentele concept achter HDR en achter comparametric sensing in het algemeen. Comparagrams zijn de sleutel tot het begrijpen van de relatie tussen verschillend belichte opnames via een sensing apparatuur van elk willekeurig-vormige responscurve.

Het eerste ding om te proberen te begrijpen is het verband tussen twee afbeeldingen, v1 en v2, en later tussen meer dan twee afbeeldingen, door te overwegen ze paarsgewijs. We krijgen dit begrip door het berekenen van de comparagram tussen paren van beelden. Een comparagram is een gezamenlijke histogram van twee records die alleen in blootstelling verschillen. Berekenen van de comparagram van de twee bovenstaande foto's. U kunt schrijven van uw eigen programma om dit te doen, of gebruikt u een van onze VideoOrbits-toolkit, http://wearcam.org/orbits/v1.23.tgz

Als alternatief, ervan uitgaande dat u gebruikmaakt van GNU Linux (zoals meest sane doe-het-zelvers), u kan berekenen een comparagram in octaaf als volgt:

CG = full(sparse(v1+1,v2+1,1,256,256));
Veronderstellend hebt u twee greyscale beelden dat elk 256 grijswaarden waarden hebben.

Een computationeel meer efficiënte manier om de berekening te doen is het gebruik van een externe C-taal bestand, een zogenaamd van Octave. Hier is een eenvoudige Octave bestand dat efficiënter (sneller) comparagrams in Octave berekent: http://wearcam.org/comparagram.cc

Compileer het als volgt:

$ mkoctfile comparagram.cc

U moet mogelijk liboctave-dev installeren als u het volgende bericht krijgt:

Het programma 'mkoctfile' is momenteel niet geïnstalleerd. Om uit te voeren 'mkoctfile' vraag uw beheerder om te installeren van het pakket 'liboctave-dev'

Als u bent eigen beheerder (zoals de meeste GNU Linux DIY liefhebbers zijn), dan het te installeren:

$ sudo apt-get install liboctave-dev

Hier, in ons geval krijgt aangezien de beelden kleur (RGB zijn) u 3 kanalen van comparagram gegevens, die vergelijkt het rode kanaal van v1 met het rode kanaal van v2, het volgende kanaal vergelijken de groene kanalen en het derde kanaal vergelijken de blauwe kanalen, waardoor de comparagram zelf een RGB-entiteit. U kunt ook de afbeeldingen converteren naar grijswaarden en de comparagram zal dus slechts één kanaal, aangezien de reactie-functie van de camera ongeveer hetzelfde voor elk van de drie kanalen is.

Hier is een leerboek definitie van de comparagram:

"De comparagram tussen twee afbeeldingen is een matrix van grootte M door N, waar M is het aantal grijsniveaus in de eerste afbeelding en N is het aantal grijsniveaus in de tweede afbeelding. De comparagram, welke wordt verondersteld zich blootgesteld foto's van hetzelfde onderwerp anders worden overgenomen, is een generalisatie van het concept van een histogram aan een gezamenlijke histogram bin graaf van overeenkomstige pixels in elk van de twee beelden. De Conventie is dat de pixelwaarde van elke uit de eerste afbeelding uitgezet op de eerste (dat wil zeggen, "x") as, tegen de tweede corresponderende pixel (bijvoorbeeld op dezelfde coördinaten) van de tweede afbeelding wordt weergegeven op de tweede as (dat wil zeggen, de "y"-as). Aangezien het aantal grijsniveaus in beide afbeeldingen is meestal hetzelfde (dat wil zeggen, 256), is de comparagram meestal een vierkante matrix (dat wil zeggen, van afmetingen 256 door 256)." [Intelligente Image Processing, S. Mann, 2001].

Als je gaat om te schrijven van uw eigen comparagram-programma (die ik stel voor u, zodat u meer informatie over het beter, en ook in de ware DIY geest), hier is een mooi zeer eenvoudig voorbeeld om u te helpen de slag:

Houd rekening met twee foto's die elke 3 pixels hoog en 4 pixels breed:
v1 = [
1 3 2 3;
3 2 1 2;
0 0 2 0
]

en

v2 = [
2 3 3 3;
2 2 2 2;
0 1 3 0
].

De comparagram is een twee dimensionale array van grootte M n M is het aantal grijze waarden in de eerste afbeelding, waarbij N staat voor het aantal grijze waarden in het tweede beeld, waar vermelding C [m, n] is een telling van hoe vaak een pixel in afbeelding 1 is greyvalue m en de corresponderende pixel in afbeelding 2 is greyvalue n. In dit geval beide beelden hebben 4 grijs waarden, dus de comparagram een matrix van 4 bij 4 is, gegeven door:

CG=full(sparse(v1+1,v2+1,1,4,4))

% (boven lijn hebt getypt in het octaaf of Matlab):

CG = [
2 1 0 0;
0 0 2 0;
0 0 2 2;
0 0 1 2
].

Optellen in rijen van de comparagram geeft het histogram van de eerste afbeelding: h1 = [3 2 4 3] en het histogram van de tweede afbeelding verticaal in kolommen van de compragram geeft samenvatting: h2 = [2 1 5 4]. Samenvatting van alle items in de comparagram geeft 12, dat is het totale aantal pixels.

Een eenvoudige oefening om te helpen u meer inzicht in comparagrams, wat ze kunnen doen en hoe ze te gebruiken:

Hier is een eenvoudige oefening die zal u helpen begrijpen van de comparagrams. Deze eenvoudige oefening en ik kan beloven een nieuwe wereld van inzicht, een soort "aha" moment, dat voor veel van mijn studenten heeft markeerde het begin van een nieuwe manier van kijken naar de wereld van comparametric sensing.

Het nemen van een afbeelding, zoals bij de bovenkant van deze pagina.

Ga naar een foto-editor zoals GIMP (ik liever Open Source GNU Linux) en selecteer "Curves" uit het menu "Kleuren".

Zo kunt u "Passen kleur Curves".

Aangezien de afbeelding grijswaarden (ik stel voor te beginnen met een afbeelding met grijstinten) bent u eenvoudig greylevels aan te passen.

Welke vorm die u wilt, op de curve maken.

Sla nu het resultaat onder een nieuwe bestandsnaam.

Berekenen van de comparagram van dit nieuwe beeld tegen de oorspronkelijke afbeelding.

Wat u krijgt (zie hierboven) is de curve die u hebt gemaakt.

Met andere woorden, de comparagram (herstelt) haalt de curve van de afbeeldingsgegevens.

Merk op dat in de literatuur de "x-as" (eerste as) uitgevoerd van links naar rechts en de "y-as" loopt van onder naar boven, terwijl u in de computer bestanden (matrices in de programmeertaal C) index met de "x-as" (eerste as) gaan van boven naar beneden, en de "y-as" gaan links naar rechts, zodat u de comparagram 90 graden draaien om het te krijgen om de lijn wellicht omhoog met de curven.

Probeer dit een paar keer met een paar anders gevormde rondingen.

U kunt nu de comparagram begrijpen als een fundamenteel instrument voor het begrijpen van de relatie tussen beelden van identiek onderwerp dat die alleen verschillen in tonaliteit of grijswaarden. Anders blootgesteld beelden exposeren wijzigingen in tonaliteit, die duidelijk in de coparagram. De comparagram geeft de essentie van twee dingen tegelijk:

  1. Een camera's reactie functie;
  2. Het verschil in fotografische blootstelling op meerdere bestanden.

Gerelateerde Artikelen

Kappen van Lego voor het dagelijks leven

Kappen van Lego voor het dagelijks leven

Hey daar!Lego, niet alleen handig voor het maken van dromen, het zou kunnen worden zeer nuttig zijn voor het dagelijks leven!Voor het opslaan van dingen zoals: je sleutels, TV Controller, kleine lego stukken (die je niet weet waar te zetten hen!)Ook
Toevoegen van een Fan aan een Computer Heat Sink - geen schroeven nodig

Toevoegen van een Fan aan een Computer Heat Sink - geen schroeven nodig

het probleem: Ik heb (had) een moederbord op mijn bestandsserver met een fanless heatsink over wat ik geloof is de northbridge. Afhankelijk van de sensor-programma (ksensors) ik had uitgevoerd in Fedora, hield de moederbord temperatuur rond 190F. Mij
Transplantatie van een kamerplant aan grotere pot (zonder het kopen van een ding!)

Transplantatie van een kamerplant aan grotere pot (zonder het kopen van een ding!)

* Een opmerking:Ik ben niet een tuinman op enigerlei wijze. Elk advies gegeven is gebaseerd op mijn eigen beperkte ervaring & minimale onderzoek. Dus neem het met een korreltje zout.Stap 1: Verzamel leveringen1. een (onlangs gekocht, in mijn geval) k
Bouwen van een 3D aan 2D projectie sculptuur uit PVC pijp

Bouwen van een 3D aan 2D projectie sculptuur uit PVC pijp

hier is een opvallende stuk van buiten beeld u met minimale tools en tijd bouwen kunt. Als het beweegt in de wind, it-projecten een veranderende 2D "oppervlak" van een 3D-solid. "Flatlanders" en voorbijgangers zowel door elkaar haalt!S
Van Stretch Jeans aan jurk

Van Stretch Jeans aan jurk

ik had sommige jeans die in een zak van de mouwen en het Kruis droeg dat een collega van mijn rremoved van sommige sportieve shirts... Ik draaide deze materialen in een jurk...Stap 1: Here are my materials....1 ik snijd de naden op elke mouw dat ik g
Maken van een eenvoudig platform en mobiliteit te geven aan uw computer

Maken van een eenvoudig platform en mobiliteit te geven aan uw computer

een computer is een erg handig ding om te gebruiken in uw robots.Als u start met het overzicht van alle functies die kunnen worden gebruikt voor robotic doeleinden vindt u dat het is goedkoper om te kopen een netbook dan het kopen van LCD, wifi en bl
Neem een mooi HDR-beeld van je kerstboom

Neem een mooi HDR-beeld van je kerstboom

Hallo,in dit Instructable wil ik je laten zien hoe maak je een mooi uitziende HDR foto van uw kerstboom.HDR staat voor High Dynamic Range.Wij zijn in feite een reeks van donkere en lichte foto's en het maken van een foto met een hoger contrast van he
Van Model naar molen (met HSM om uw ontwerp van de computer naar het bed van de machine)

Van Model naar molen (met HSM om uw ontwerp van de computer naar het bed van de machine)

Velen van u waarschijnlijk het lezen van deze toegang hebben tot en ervaring met een soort van 3D-ontwerpsoftware, of het nu professioneel of gratis. Uit die mensen, zijn er waarschijnlijk minder die toevallig toegang hebben tot een soort van CNC mac
4.0 van de Bluetooth aan uw Arduino Project [IoT] - gecontroleerd door Smartphone toe te voegen

4.0 van de Bluetooth aan uw Arduino Project [IoT] - gecontroleerd door Smartphone toe te voegen

Wij zijn groep van internet van dingen-liefhebbers die houden van hacken samen verschillende apparaten. Check out onze huidige project op onze website en neem een kijkje op deze handleiding in een andere indeling op onze blog.Stap 1: InleidingArduino
Het uitpakken van Wii-spellen op uw computer via een USB-stick.

Het uitpakken van Wii-spellen op uw computer via een USB-stick.

Dit instructable zal u tonen hoe rip een kopie van een Wii spel met alleen een USB-stick en je Wii op uw computer, en hoe te comprimeren voor opslag.Heeft u enkele zaken nodig om dit gebeuren:Hardwarevereisten:Wii met firmware 3.4 en onder.Een Wii me
Het toevoegen van aangepaste liederen aan Guitar Hero 3 (Wii) deel 1

Het toevoegen van aangepaste liederen aan Guitar Hero 3 (Wii) deel 1

In dit Instructable zullen we een handig programma genaamd The Ghost gebruiken om te injecteren van aangepaste liedjes in Guitar Hero 3 (of Areosmith) op de Wii. Deze spellen kunnen vervolgens worden gebrand op een CD of op een flash drive om te word
Bouwen van een goedkope Ikea NAS/Computer

Bouwen van een goedkope Ikea NAS/Computer

NAS: Network Attached StorageIKEA: Purveyors van nette, goedkope dingen.IKEA NAS: Weg-Cool, Low-Power, High-Capacity, netwerkopslag of computer voor algemeen gebruik.Update: Een beetje meer is te vinden op mijn website post: http://aaroneiche.com/200
Hoe te herstellen van gegevens vanaf een dode Computer

Hoe te herstellen van gegevens vanaf een dode Computer

De meeste mensen weten niet dat er een manier om uw bestanden uit een stroomloos laptop of desktop computer. Het is een verschrikkelijk gevoel wanneer uw computer niet zal opstarten en je kunt niet toegang uw foto's, of die belangrijke papier, fiscal
Aansluiten van een Kinect op uw Computer (met behulp van Ubuntu)

Aansluiten van een Kinect op uw Computer (met behulp van Ubuntu)

Ik ben al kijken naar de Kinect hacks online voor de afgelopen paar maanden en echt genoten van hen. Ik begon onlangs te denken dat ik soort wil werken met het zelf, zien wat voor soort dingen die ik zou kunnen te maken en te doen, en besloot om een