GrauwertPixel in RGB565 umrechnen



  • Hallo,
    wäre cool wenn Jemand bei folgender Aufgabe Ahnung hätte.
    Aus einem TFT‐Display mit 5 x 5 Pixeln, die Werte von zwei Pixeln sind gegeben wie folgt:
    Erster Pixel: 19d
    Zweiter Pixel: 31d
    Die Aufgabenstellung lautet:
    Ein Grauwertbild mit einem Wertebereich von 0...63 pro Grauwertpixel
    soll auf einem TFT‐Display mit RGB565 Farbmodell dargestellt werden.
    Rechnen Sie die zwei vorgegebenen Grauwertpixel in RGB565‐Werte um. Geben
    Sie das Resultat als 16 Bit‐Zahl an.



  • Ja, ich hab eine Ahnung.
    Wobei genau brauchst du Hilfe?



  • @hustbaer Ich würde gerne wissen was die Antwort zu der Frage ist.



  • @bosa
    Sorry bosa, du könntest dir ein wenig mehr Mühe geben. Und gerade bei einem solch schönen Thema wie Farben.

    Wo ist dein Problem?
    × Weißt du wie der Grauwert definiert ist?
    × Weißt du was indizierte Farben sind?
    × Weißt du wie der Grauwert bezogen auf RGB definiert ist?
    × Weißt du für den Grauwert 0 den RGB Wert?



  • @Quiche-Lorraine Ich muss zugeben, dass ich kein programmierer bin und mit der Bildverarbeitung sehr wenig zu tun habe. Ich muss aber für eine Klausur lernen und bei der Aufgabe komme ich einfach nicht weiter.
    Ich weiß nicht wie ich aus einem gegebenen Pixelwert die RGB werte bekommen kann.
    Mir würde hier den Einsatzt schon viel helfen.



  • Um RGB565 zu verstehen, schau dir mal folgenden Umrechner an.
    Das besondere bei einem Grauwert ist, daß in normaler RBG-Darstellung dann jeweils die Anteile von R, G und B gleich sind (bei Werten von 0-255 (d.h. 8 Bit) ergibt z.B. R=G=B=0 schwarz, R=G=B=128 mittelgrau und R=G=B=255 weiß).
    Da aber nun bei RGB565 jeweils mit unterschiedlich vielen Bits kodiert wird, mußt du das jeweilige Verhältnis ausrechnen:

    • 5 Bit bedeutet Werte von 0 - 31
    • 6 Bit bedeutet Werte von 0 - 63

    Nun mußt du also die gegebenen Pixelwerte (0-63) damit darstellen und den zusammengesetzten 16Bit-Wert errechnen.



  • @Th69 Danke dir für deine Hinweise. Also wenn ich gut verstehe kann ich die Pixelwerte als dezimal Zahlen betrachten, die ich in Binär Zahlen umwandeln kann und daraus die Werte für Jeweils R, G und bestimmen kann. Währe das ein richtiges Vorgehen?



  • Ob du die Werte für R, G oder B in dezimal oder binär bestimmst, ist egal (aber dezimal ist wohl einfacher).
    Und erst beim Zusammensetzen des 16 Bits -Werts ist es einfacher die Werte binär zusammensetzen (du kannst aber auch mittels passender Multiplikation [mit jeweils 2^X, wobei X die Bit-Position des jeweiligen Farbwertes angibt] den Wert ermitteln).



  • @Th69 sagte in GrauwertPixel in RGB565 umrechnen:

    [mit jeweils 2^X, wobei X die Bit-Position des jeweiligen Farbwertes angibt]

    Wobei hier der ^-Operator „hoch“ bedeutet.
    In C++ hat er eine andere Bedeutung.



  • Wir sind ja hier im Mathe-Unterforum... 😉


Anmelden zum Antworten