Annons

Att lista ut kurvor

Produkter
(logga in för att koppla)

levitte

Aktiv medlem
Jag funderar lite på kurvor och så, och mest på de kurvor som är inbyggda i kameran (och som används i omvandligen till jpeg), och undrar om det finns något sätt att klura ut dem. En metodik jag tänker på just nu är att ta en bild i RAW+JPEG och jämföra histogrammen mellan råbilden (efter att omvandlat den till jpeg med EV +/-0 och i övrigt ingen påverkan) och jpegen...
Okulärt borde det inte vara helt komplicerat att göra jämförelsen (även om det finns komplicerande faktorer att räkna med, som att kameran antagligen inte håller sig till EV +/-0), men datornörden i mig tycker det vore kul att kunna automatisera det hela, och då är frågan hur funktionen för att göra den jämförelsen egentligen skulle se ut.

En idé jag har är att normalisera histogrammen så att de sträcker sig över hela skalan (0-255 eller vad man nu har), och göra en enkelt (subtraktiv?) jämförelse därefter... men det känns som att jag kan missa en del saker den vägen.

Är det fler som har haft tankar åt det här hållet? Kanske nån som redan har löst problemet, eller är en bit på väg?

Mvh,
Richard
 
Det är lite mer komplicerat än så, och histogrammet ger inte alltid ledning. Om det vore så enkelt som att man skulle sprida histogrammet, kunde kameratillverkaren programmera in det för alla bilder man tar, men det är helt enkelt inte optimalt.

Histogrammet är bara en statistisk bild av hur ljusheten fördelas i bilden, utan hänsyn till var respektive ljusa och mörka pixlar ligger. I en bild kan man vilja att större eller mindre del, eller flera mindre eller större delar, ska vara endera rejält svarta eller urfrätt vita. Ett program kan inte avgöra var de fälten ligger i bilden, och histogrammet ger ingen information om var de här pixlarna är belägna, det talar bara om hur många som når en viss nivå, var de än ligger över bildytan.

Man har lånat en analogi från hur bilderna gestaltades när vi framställde dem med kemiska medel från belysta silversalter. Alla omvandlingsprogram, vare sig det är kamerans firmware eller en separat RAW-omvandlare, tillämpar en S-kurva, där man uttrycker kontrasten som ett gammavärde. Den kurvan kan modifieras, och alla program visar den inte på samma sätt. När man ändrar kurvan i Raw Therapee, beter den sig inte likadant som kurvan som visas i diagrammet hos Gimp eller Photoshop.

S-kurvan har en skuldra och en tå. Skuldran ligger i zon XI i zonsystemet och tån i zon I. Genom att lyfta kurvan lite grann långt till vänster kan man öka separationen i tån, och genom att sänka den långt till höger kan man öka separationen i skuldran. I båda fallen minskar man gammavärdet, sänker bildens kontrast.

Om man lyfter kurvan närmre mitten ändrar man framför allt upplevt ISO, ljusheten, till ett högre ISO-värde, med förlust av kontrast i bildens ljusare delar och ökad kontrast i de mörkare. Om man i stället sänker kurvan minskar man ISO med högre kontrast i bildens ljusa delar och mindre i de mörkare delarna.

Tonseparation (tone mapping) gör någonting annat, där den lokala kontrasten förstärks, både i ljusa och mörka delar av bilden. Kurvverktyget är oanvändbart för tonseparation om man inte delar upp bilden i lager med olika ljusa delar av bilden där man manipulerar kurvorna. Det är enklare att använda ett tonseparationsverktyg som finns i HDR-programmen, eller oskarp mask, som kan tonseparera om man ställer in stor radie och en ganska liten mängd.

Ofta får man använda flera olika varianter av tekniken för att nå ett bra resultat, och man måste se till bildens innehåll när man tillämpar olika kontrasthöjande eller kontrastsänkande metoder. Det finns såvitt jag vet inte något automatiskt sätt att göra det som funkar i alla lägen, även om HDR-programmen har kommit en god bit på väg mot att få fram bättre separation i motiv med hög kontrast. Motiv med låg kontrast får man alltid ta hand om själv efter bästa förmåga.
 
Tillägg till Urbans inlägg:

Histogrammet är värdelöst, eftersom färgkanalerna gått igenom en ganska komplex färgbehandling innan man kommer fram till RGB-histogrammet i en Adobe (eller s-) RGB jpg.

Ett helt lysande exempel på detta är Nikonister som gnäller över att "den röda kanalen övermättas lätt med Nikons nya kameror". Detta är fullständigt fel. Den röda kanalen är SVAGARE i nyare Nikon-kameror. Men färgprofilerna i kamerorna är annorlunda, de försöker göra rött ljusare än i tidigare modeller, vilket gör att jpg-i-kamera lätt blåser den röda kanalen...

Det man kan göra är att fota en kilstege med gråtoner - då kommer man ifrån osäkerheten med färgbehandlingen. Då får man fram kurvan som kameran modulerat råfilen med. EFTER att man gjort detta får man titta på hur olika färger modulerar denna kurva - detta kommer vara väldigt olika beroende på vitbalans och kamerainställningar, vald färgrymd osv.
 
Det man kan göra är att fota en kilstege med gråtoner - då kommer man ifrån osäkerheten med färgbehandlingen.
Just det, det tänkte jag på under dagen, det borde kunna ge en aningen enklare bild (även om den inte är enkel egentligen) av vad kameran gör...

Det där med tonmappning och HDR, är det något kamerans programvara brukar syssla med (om man inte har ställt in HDR nånstans, såklart)? Tonmappning kan jag förvisso tänka mig, med tanke på de olika automatiska lägena och vad de gör med olika färgtoner, men jag brukar använda de kreativa lägena (främst Av (Canoniska) och M).

Mvh,
Richard
 
Just det, det tänkte jag på under dagen, det borde kunna ge en aningen enklare bild (även om den inte är enkel egentligen) av vad kameran gör...

Det där med tonmappning och HDR, är det något kamerans programvara brukar syssla med (om man inte har ställt in HDR nånstans, såklart)? Tonmappning kan jag förvisso tänka mig, med tanke på de olika automatiska lägena och vad de gör med olika färgtoner, men jag brukar använda de kreativa lägena (främst Av (Canoniska) och M).

Mvh,
Richard

Canon har något som heter HTP, och på vissa modeller är det HYPE, men det kan vara implementerat på senare modeller. Du får helt enkelt prova om det funkar. När det är som det ska, ska det hålla tillbaka exponeringen, så att högdagrar sparas, och så ska det lyfta skuggpartierna lite grann, som Nikons D-Lighting. HTP ska i grunden göra det som Nikons Active D-Lighting, men det är inte säkert att det verkligen är implementerat även om det finns menyval för HTP. I Canon EOS 40D händer ingenting när man ställer in HTP, ingenting alls. Kameran fungerar precis likadant som om man inte ställer in HTP. Men jag gissar att senare modeller har något som liknar Active D-Lighting.

Det HTP ska göra, och som Active D-Lighting gör, är att minska exponeringen för att högdagrar inte ska bli urfrätta, och framkalla så att skuggpartierna lyfts och blir ljusare. Råfilen påverkas inte av jpeg-framkallningen, men DPP kan göra samma manöver för att dra upp detaljerna ur skuggorna. Hos Nikon minskar exponeringen upp till två steg, så att kameran exponerar som om den hade stått på ISO 800 fast känsligheten är 200. Sedan framkallas skuggpartierna med krummad kurva, så att den i praktiken ger ISO 800. Man får något mer brus i bildens mörka delar, men högdagrarna sparas.

Processen är inte tonseparation och har inget med HDR att göra, det är bara en tillämpning av zonsystemet för att omfatta ett större dynamiskt omfång i bilden. Kontrasten blir lägre än om man kör med den vanliga exponeringen och framkallningen, men för högkontrastmotiv kan det bli precis rätt.

Och som sagt, du får prova med din Canon om det funkar eller inte.
 
ANNONS