Jag känner till additiv (RGB), subtraherande (CMYK) och HSV-liknande färger, men en artikel Jag försöker för närvarande förstå fungerar på YCbCr färgutrymme för bildsegmentering / objektdefinition.
Jag har tillbringat större delen av morgonen på att leta efter något som förklarar YCbCr naturligt, men jag förstår det bara inte. Jag fick en trevlig, intuitiv förklaring av den allmänna idén bakom detta färgutrymme här , och förklaring av hur den används för bildkodning / komprimering från dessa killar (alla på foto.SE).
Formlerna för att beräkna YCbCr från RGB är lättillgängliga på wikipedia .
Jag fick motivationen för denna representation, jag fick att Y-komponenten innehåller det viktigaste (för människans öga ) gråskalainformation om bilden.
Jag fick att Cb och Cr innehåller information om färgerna och att de (på grund av mänskligt öga (i) känslighet) kan komprimeras utan synligt kvalitetsförlorat. Men, vad representerar var och en av krominanskomponenterna egentligen?
Som artikelförfattarna nämner att ” krominansinformation är viktigast i definitionen av objekt ”i deras tillvägagångssätt, och jag kan inte helt förstå vad jag läser med min nuvarande” Y är intensitet, Cb och Cr bär färginformation på något sätt ”nivå av förståelse YCbCr.
Jag letar efter ett svar i linje med ”Cb är …, medan Cr är …” eller ”om du tänker dig att titta igenom / med XY, tittar du faktiskt på Cb-komponenten …” , eller något annat sätt som skulle hjälpa mig att förstå information som bärs av var och en av komponenterna separat, inte bara att de tillsammans bär färginformation.
EDIT
Låt mig ge exempel på intuitiva förklaringar för andra färgrymden av typen jag letar efter:
RGB : Som att lysa med en färgad blixt ljus på en svart vägg: Om du lyser med en blå ficklampa ser du en blå reflektion. Om du lägger till en röd ficklampa visar den en magenta reflektion, som är en blandning av blått och rött.
CMYK : Som att blanda vattenfärger lägger du till ”färgerna som ytan reflekterar” (dvs subtraherar färg från bakgrunden) så om du blandar en gul med en cyan, kommer den att reflektera grön och därmed får du en grön färg.
HSV : Små barn lockas till mycket mättade föremål, inte ljusa (värde ). Hue-komponenten är det som ”ger färgen”, medan låg mättnad betyder att färgen ”späds ut” med vitt. Värdeförändring gör det hela ljusare eller mörkare.
Med de här definitionerna har jag kunnat få en intuitiv känsla av vad en färgrepresentation i varje färgutrymme betyder, utan att memorera diagram för var och en av dem .
Svar
YUV (eller YCbCr) är som HSV, men i olika koordinater. (Skillnaden mellan YUV och YCbCr är marginal – mest relaterad till exakta formler).
$ V $ -komponenten är densamma. $ (S, H) $ kan betraktas som polära koordinater och $ (U, V) $ som kartesiska. $ H $ är vinkeln och $ S $ är radien. En grov konvertering skulle vara:
$ U = S \ cdot \ cos (H) $
$ V = S \ cdot \ sin ( H) $
Du kan se den här länken för mer information rmation.
En annan sak att lägga till i din intuitionslista:
Mättnad är hur ren färgen är från spektral synvinkel . Till exempel har en laser ett mycket smalt spektrum, vilket innebär hög mättnad.
Kommentarer
- kan du lägga till förklaringen till skillnaden mellan YUV och YCbCr, för fullständighetens skull?
- @Andrey Rubshtein, Om en laser har hög mättnad, är det omvända sant? Med andra ord, om jag mäter RGB och konverterar till HSV, innebär hög mättnad att den måste härröra från en sammanhängande laserkälla? Tack.
- @Frank, inte nödvändigtvis en laser. Men det ’ är svårt att ha en mättad färg med ett brett spektrum, eftersom ju bredare det är, desto svårare är det att ha en hög respons i endast en komponent.
- @Andrey Rubshtein, tack för ditt svar. Mkenheterna för mättnadsintensitet är energi per tidsenhet per ytenhet. . Mks-enheterna med mättnadsenergifluens är energi per ytenhet.där halvledarlaserpulser är långa, 10 till 50 ns (nanosekunder). Innebär hög mättnad med ett mycket smalt spektrum att den måste härröra från en sammanhängande laserkälla?
- @Andrey Rubshein. Du har helt rätt..Jag fick reda på att lysdioder avger ljus som är ganska mycket monokromatiskt, liksom lågtrycksnatriumlampor. Finns det särskiljande egenskaper hos sammanhängande laserpekare som man kan använda för att avläsa laserpekare strålar bortsett från den övergripande bilden som observeras genom ett Boeing 737-cockpitfönster?
Svar
Inte säker på vad du menar med ”faktiskt” representerar, eftersom varken RGB eller YUV representerar antingen fotonfrekvensen eller de typiska mänskliga ögonstavens / konens svar. Men du kan se hur de ser ut för dig genom att syntetisera några YCrCb-färgkorrigeringar, som (1,1,0), (1, -1,0), (1,0,1), (1,0, – 1) osv.
Här ”en Wikipedia-sida som innehåller ett diagram:
http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png
LÄGGT: RGB och sådant utformades nästan (eller utvecklades) för att matcha en möjlig mänsklig intuitiv förståelse av perception (och färgnamn visar sig vara kulturellt inlärda). är motsatsen, utformad så att buller i UV-området (läggs till ett bullrigt NTSC-underband) skulle vara svårt att se och därmed vara svårare att beskriva. YCrCb är en variation på samma färgmappning. Så leta inte efter en befintlig ”intuitiv” insikt, som kanske inte finns. Skapa kanske din egen genom att ”lära dig” diagrammet och bygga några helt nya neurala anslutningar som för närvarande inte finns i din hjärna (eller något liknande.)
Kommentarer
- Jag lade till exempel för andra färgutrymmen av den typ som jag skulle vilja få för YCbCr. Hoppas att detta gör den typ av förklaring jag ’ jag söker fram tydligare.
Svar
När du förstår HSV / HSB borde det inte vara svårt att förstå YCbCr. B-kanalen i HSB motsvarar chroma (chroma = mättnad http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/ ). Du kan ta rgb-bilden och konvertera den till gråskala eller så kan du konvertera varje RGB-kanal till gråskala och de slår samman dem till en kanal. För att förenkla, låt oss ha pixlar med 100% rött, 100% grönt och 70% blått. Du kommer att beräkna genomsnitt … (100 + 100 + 70) / 3 och du får ett värde 90%, vilket betyder 90% av ljusstyrkan Så i gråskala är det väldigt ljusgrå färg. Om vi nu vill uttrycka originalfärgerna mot gråskalakanalen skulle vi behöva 3 formler för varje färg (röd, grön, blå). Du skulle beräkna skillnaden i värde R vs gråskala, G vs gråskala och B vs gråskala. Detta skulle behöva fyra kanaler (RGB + chroma). Men vi kan göra detsamma med tre kanaler. Vi kan göra en liten korrigering av den gröna kanalen. Låt oss beräkna skillnaden till den gröna kanalen. Originalgrön är 100%, nytt värde på grön konverterat till grått är 90%. Skillnaden är -10%. Så låt oss ändra R- och B-kanaler för denna pixel med denna skillnad. Vi gjorde bara gammakorrigering eller alla kanaler. Gröna kanalvärden kommer att vara desamma som för gråskalebild. Så vi beräknar inte längre med grön kanal. Grön är ”kodad ”i Y … kromkanalen. Resten av färger (R, B) justeras också. R` = 90% av originalet eller 100% av Y eftersom R och B är lika i detta exempel. B-föreningen har skillnad + 20% mot original, men efter att det ändrats med gammakorrigering har det skillnad + 30% mot Y. För att förenkla det ännu mer är det som en formel där du behöver lägga till för alla tre föreningarna. Skillnaderna du får för rött och blått är Cb och Cr. Tecknen säger bara att du jämförde blå kanal med chromakanal och röd kanal med Chromma kanal. Därav Cb och Cr.