AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 00:47

Parameter dieser Suchanfrage:

Suche in Thema: Durchschnittsfarbe eines Bitmap "schnell" ermitteln
Suche alle Beiträge, die von "Michael II" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.000s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 12. Mai 2021
    Hier gibt es Infos zum Berechnen der Durchschnittsfarbe eines Bildes; einmal simpel via Mittelwert (wie hier besprochen, Resultat oft ein etwas "dumpfer" Farbton) und einmal etwas anders anders (in vielen Situationen bessere Beachtung von Helligkeit & Kontrast). Bild1 zeigt den Unterschied.

    https://sighack.com/post/averaging-rgb-colors-the-right-way

    Weitere Infos zu Farbabstandsmessung...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Da deine RGB Werte nie negativ sind kannst du statt Int64 auch UInt64 verwenden. Dann hast du alle 64Bit (und nicht nur 63Bit) zur Verfügung für die Summenbildung.

    High(Uint64)=2^64-1=18446744073709551615

    Da du momentan RGB Werte im Bereich 0..255 verwendest, kannst du nach dem grössten p (Anzahl Pixel deiner Bitmap) suchen, welches
    p*255 <= 1844674407370955165
    erfüllt.
    ...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Ich nehme auch an, dass GDI+ beim Skalieren auf 1x1 nicht oft die gleiche Durchschnittsfarbe berechnet. Du könntest ja auch auf ein 10x10 oder ähnlich skalieren und dort rechnen.

    Die 1x1 Bitmap Farbe hängt natürlich u.a. vom verwendeten Skalier-Algorithmus ab.

    Bliebe die Frage: Welche Farbe ein Mensch als die "bessere" Durchschnittsfarbe bewerten würde.

    Hast du irgendwo einen Link auf...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Nein das stimmt nicht. Kulturen hin oder her.

    Schau noch einmal in den Code, um welchen es geht. Dort wird eine Variable r vom Typ integer auf 0 gesetzt. Und danach wird Pixel für Pixel geschaut, welcher Rotanteil vorliegt. Dieser Rotanteil wird jedes Mal zu r addiert.

    Nun wollen wir herausfinden, wann r frühestens überläuft. r läuft in Kulturen wo der Rotanteil aller Pixel immer 0 ist gar...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Dein Code ist fast voll ok so.
    Einzig bei der Auswertung von col....
    Du musst darauf achten, dass TGPColor (anders als TColor!) wie folgt die Farbe speichert:
    ARGB d.h. ALPHA ROT GRÜN BLAU
    Und die von dir verwendeten Winapi.Windows TColor Funktionen GetRValue... rechnen mit (A)BGR=(ALPHA) BLAU GRÜN ROT.

    Du willst ein Resultat in TColor:
    Wenn du GetRValue auf col : TGPColor anwendest...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Cardinal ist in D32bit und D64bit 32Bits lang, ohne Vorzeichen. Du hast also rund zwei Mal so viele Zahlen>0 wie bei integer - und damit sqrt(2) mal mehr maximale Bitmap-Seitenlänge.

    Zu deiner Frage wegen wieso -1. Du hast das Vorzeichenbit vergessen. Die grösste positive integer Zahl (maxint) sieht so aus m = 011111111 11111111 11111111 11111111. Wenn du zu m 1 addierst, hättest du 10000000...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Halt doch noch rasch dazu:
    Coole Idee... ;-).

    Funktioniert auch gut... und sicher schnell, u.v.a. auch auf dem TrillionK Monitor. Ich habe keine Zeit fürs Messen.

    Die Werte sind (was ich auch erwartet habe, GrafikerInnen berechnen den Durchschnittswert wahrscheinlich eher über ein anderes Modell und etwas anders) nicht ganz gleich (wie beim RGB DS Rechnen). Bei einfarbigen Bitmaps aber...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    OK ich hatte überlesen, dass KodeZwerg den Durchschnittswert aus einer einfarbigen Bitmap errechnen wollte. Wenn dem echt so ist (ich verstand sein Anliegen so, dass er den RGB-Durchschnittswert eines Bild berechnen wollte; das macht ja deine Funktion auch), dann muss KodeZwerg den Durchschnitt nicht berechnen. Bei einem einfarbigen Bitmap reicht es irgend ein Pixel zu nehmen, da ja dann alle...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 11. Mai 2021
    Und genau deshalb ist es wichtig, dass der Fragende eine wie verlangt schnelle und funktionierende Lösung hat.
    Schneller als via Scanline geht's fast nicht.
    Bei Verwendung von int64 muss man - wie himitsu schreibt - schon kurz nachdenken, wie das Verhalten in Bezug auf Speed unter 32 bzw. 64 bit ist.

    Bei Verwendung von integer für die rgb Werte stösst die Funktion auch bei diesem "Kirche im...
  • Forum: Multimedia

    AW: Durchschnittsfarbe eines Bitmap "schnell" ermitteln

      Delphi
      by Michael II, 10. Mai 2021
    In einigen der hier geposteten Beispiele befürchte ich bei grossen Bitmaps Integerüberlauf in r,g,b.

    Wenn zum Beispiel jedes Pixel einer Bitmap einen Rotwert=255 aufweist, dann läuft r nach >maxint/255 Pixeln über.

    Oder etwas anders geschrieben: Eine quadratische Bitmap mit >2901 Pixel Seitenlänge und Rotwert=255 wäre nicht gut...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Michael+II&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=207856
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz