Linuchs: Helligkeit eines Bildes ermitteln

Hallo,

ich nutze Bilder von Webcams, zum Beispiel als Seiten-Hintergrund. Ja, die Genehmigung habe ich.

Nachts sind sie schwarz und ich würde dann gerne eine gespeicherte Tages-Version zeigen.

Kann ich per Javascript - meinetwegen auch per PHP - die Helligkeit eines Bildes ermitteln?

Dass ich das Uhrzeit-abhängig machen könnte, ist klar. Aber die Helligkeit der Webcam eines Kreuzfahrtschiffes richtet sich nicht nach irgendwelchen stationären Uhren.

Gruß, Linuchs

  1. @@Linuchs:

    nuqneH

    Kann ich per Javascript - meinetwegen auch per PHP - die Helligkeit eines Bildes ermitteln?

    JavaScript: Canvas: Images, Pixel Manipulation.

    PHP: Bildverarbeitung und -generierung.

    Aus dem RGB-Wert für einen Pixel berechnechst du das gewichtete Mittel, dann mittelst du über alle Pixel, wobei du bei Bedarf auch die Bildmitte stärker wichten könntest als die Ränder. Oder gleich nur einen kleinen Teil in der Bildmitte zur Berechnung heranziehen; spart Rechenzeit.

    Aber die Helligkeit der Webcam eines Kreuzfahrtschiffes richtet sich nicht nach irgendwelchen stationären Uhren.

    Die momentane Position des Schiffes steht nicht zur Verfügung?

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. @@Gunnar Bittersmann:

      nuqneH

      Aus dem RGB-Wert für einen Pixel berechnechst du das gewichtete Mittel

      In JPEG ist das bereits erfolgt: Y in YCbCr ist die Helligkeit. Es sollte möglich sein, sich gleich die Helligkeitsinformation rauszuziehen, ohne nochmal über RGB zu gehen.

      Qapla'

      --
      „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  2. Hallo Linuchs,

    Kann ich per Javascript - meinetwegen auch per PHP - die Helligkeit eines Bildes ermitteln?

    von PHP habe ich keine Ahnung, mit Javascript könnte das mit canvas gehen. Stichworte neben canvas sind u.A. putImageData und getImageData. S. https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D und ein Beispiel.

    Gruß, Jürgen

    1. Hallo JürgenB,

      weil es mich auch interessiert hat, habe ich mal ein Beispiel zur Bildmanipulation mit canvas gebastelt.

      Gruß, Jürgen

      1. @@JürgenB:

        nuqneH

        weil es mich auch interessiert hat, habe ich mal ein Beispiel zur Bildmanipulation mit canvas gebastelt.

        var m = (r+g+b)/3;

        Nein (wie ich schon sagte).

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. Hallo Gunnar,

          var m = (r+g+b)/3;

          Nein (wie ich schon sagte).

          mir geht es hier nicht um die perfekte Graustufenermittlung. Die Testseite soll nur zeigen, wie man an die Pixelwerte kommt und wie man sie verändern kann. Aber ich werde das mal ändern.

          Gruß, Jürgen