-
        

Ergebnis 1 bis 3 von 3

Thema: YCbCR in RGB umwandeln??

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.09.2006
    Beiträge
    12

    YCbCR in RGB umwandeln??

    Anzeige

    servus!!!

    ich steuere gerade mit vb 6.0 eine Kamera an und ich habe es schon geschafft mit ihr zu komunizieren und ich bekomme nun ein bild in form einer zahlen reihung. alle werte sind innerhalb von 16-240 und im manual steht es der YCrCb-Farbraum ist.
    Nun habe ich schon etliche umrechnungsformeln gefunden jedoch hat bis jetzt keine funktioniert. teilweise bekomme ich negative werte für rot grün oder blau, manchmal sind die werte bis zu 6000 groß.

    hat das schon mal irgendwer umgerechnet und hat einen funktionierenden syntax? ich bräuchte dringend hilfe denn ich komme nicht mehr weiter.

    lg lucas

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Halo Projector,

    Häufig werden als Umrechnung von YCrCb in RGB folgende Formeln angegeben:
    Definitionsformeln:
    Y=a*R+b*G+c*B
    Cr= R-Y
    Cb= B-Y
    Cg=G-Y
    mit:
    Y: Luminanz (Gesamthelligkeitswert)
    R: Rotwert
    G: Grünwert
    B: Blauwert
    a,b,c: Faktoren

    für die Faktoren wird oft angegeben (es existieren auch andere Werte):
    a: 0,299
    b: 0,587
    c: 0,114

    Für die Transformation von YCrCb in RGB gilt also:
    R=Y+1,402*Cr
    G=Y-0,344*Cb-0,714*Cr
    B=Y+1,772*Cb

    Du hast recht, negative Werte für R, G, B sind physikalisch nicht sinnvoll.
    Der theoretisch maximale Wert für z.B. B errechnet sich zu
    B=255+1,772*255=707
    Wie man dabei Werte zu bis zu 6000 herausbekommen kann ist mir ein Rätsel.
    Kannst Du mal Versuche machen, indem Du die Kamera in einem (abgedunkelten Raum) einen Monitor aufnimmst, mit bekannten Farben?

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    52
    Beiträge
    1.819
    Habe mir das oben nochmal angeschaut, wenn man einige Zahlenwerte einsetzt, scheint es nicht plausibel zu sein. (Das kommt davon, wenn man kritiklos aus dem Internetz abschreibt).
    Für den Fall, daß Werte für R,G,B sowie Y,Cb,Cr im Bereich zwischen 0 und 1 liegen, stimmt wohl das folgende:
    [img]
    http://upload.wikimedia.org/math/6/1...5d0d43af1a.png
    [/img]
    Zumindest kommen plausible Werte heraus, wenn man ein paar Zahlen einsetzt.
    siehe: http://de.wikipedia.org/wiki/YCbCr-Farbmodell
    Du musst halt dann alle Werte erst durch 255 teilen, bevor Du in die Formel einsetzt, anschließend wieder mit 255 multiplizieren.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •