Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Wie würdet ihr den Kontrast eines Bildes erhöhen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    Wie würdet ihr den Kontrast eines Bildes erhöhen?

    Für eine kleine Sache mit Bildbearbeitung suche ich nach einer Möglichkeit, den Kontrast eines Bildes zu erhöhen. Meine Theorie ist, das ich einfach alle hellen Sachen heller und alle dunklen Sachen dunkler machen muss. Das hab ich gemacht, und zwar mit einer Funktion f(x), die für jeden Wert > 0.5 einen größeren Wert als das Argument zurückgibt und für jeden Wert kleiner als 0.5 einen kleineren Wert als das Argument zurückgibt. Ich habe die Funktion -2x^3+3x^2 verwendet, die die Anforderung erfüllt. Die Ergebnisse überzeugen, nur leider kann ich die Intensität des Effektes nicht einstellen. Mein zweiter Versuch war eine etwas kompliziertere Funktion 5. Grades, die aber zu unkontrolierbar wurde. Ich habe jetzt vor, das ganze mit Bezierkurven zu lösen, gestern abend ist mir aber aufgefallen, das in Photoshop die Sache mit frei einstellbaren Kurven schon unter Tonwert fällt. Für Kontrast haben die nur einen mickrigen Schieberegler. Sollte es etwa üblich sein, für den Kontrast nur ein Gerade als Funktion zu nehmen, die durch 0.5|0.5 geht, nur entsprechend steiler, so das Randbereiche auch größer als 1.0 sein können und dann enstsprechend abgeschnitten werden? Ich hofffe, ich hab mich nicht zu unverständlich ausgedrücktmit dem, was ich sagen wollte. Ich reis mich auch nicht drum, das von Hand zu programmieren. Links zu Theorie, wie aber auch zu Kontrast sind willkommen.

  2. #2
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    hm, wenn ich annnehme das ich ein graustufen bild habe, bei dem jeder Pixel einen Wert zwischen -1 und +1 annehmen kann.

    Dann multipliziere ich einfach jeden Pixel mit einem wert zwischen 0 und irgendwas, um den kontrast anzupassen. Dabei schneide ich Ergebnisse die größer als 1 sind ab.

    wenn deine eingangsdaten nicht zwischen -1 und +1 liegen, dann kannst du sie ja vorher umrechnen, und für mehrfarbbilder machst du das halt für jeden Farbanteil einzeln.

    ich weiß nicht ob das so funktiniert, habs mir nur eben so überlegt.
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Ich hab die Eingangsdaten von 0 - 255 und rechne sie im Moment nach 0 - 1 um.

  4. #4
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    und funktionierts wenn du's so wie in meinem Vorschlag machst??
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Hier ist ein Kontraststretchingalgorithmus,denn hatten wir mal in Hardware implementiert.

    B: Anzahl der Codebits pro Grauwert
    Phigh: obere Grenze des Wertebereichs
    Plow: untere Grenze des Wertebereichs

    b[m,n] =
    0,falls a[m,n] <= Plow
    (2^B - 1)* (a[m,n] - Plow)/(Phigh - Plow),falls Plow < a[m,n] < Phigh
    2^B - 1,falls a[m,n] >= Phigh

  6. #6
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Ich habs noch nicht ausprobiert, das wird aber sicher funktionieren. Heut ist mir leider was dazwischen gekommen und ich muss mich erstmal mit Hardwareprogrammierung auseinandersetzen

Lesezeichen

Berechtigungen

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