Hellichkeit von Pixel ermitteln

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

FWeinb

ehemals "ich"

Betreff: Hellichkeit von Pixel ermitteln

BeitragSo, Dez 03, 2006 14:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich bin auch mal wieder bei BB gelandet und wolte wissen wie es geht
die helleichkeit eines Pixels zu bestimmen also so das ich weis weilche hellichkeit er hatt


Danke im vorraus


ICH
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

Christoph

BeitragSo, Dez 03, 2006 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Helligkeit???

Wenn du die Einzelnen Farbwerte (Rot, Grün, Blau) meinst, benutze diese Befehle:

ql:getcolor, ql:colorred,ql:colorgreen, ql:colorblue

oder diese (ist schneller aber komplizierter):

ql:lockbuffer, ql:readpixelfast

DerHase

BeitragSo, Dez 03, 2006 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Du addierst R-ot G-rün und B-lau Wert eines Pixels. Und ermittelst dann den Mittelwert. Wenn Du diesen Wert auf R,G und B gleichmässig verteilst, kannst Du den Pixel mit der selben Helligkeit aber in grau anzeigen.


Edit:

Ich täuschte mich, die Standard Konversion lautet:
grau = 0.299 * R + 0.587 * G + 0.114 * B

Ich hab es eben mal getestet:
Code: [AUSKLAPPEN]
Graphics 320,240,0,2
SetBuffer (BackBuffer())
r = 200
g = 100
b = 10

grau = 0.299 * r  +  0.587 * g  + 0.114 * b


While Not KeyHit(1)

   Color (r,g,b)
   Rect 10,10,30,30,1

   Color (grau,grau,grau)
   Rect 50,10,30,30,1

   Flip:Cls

Wend
 

FWeinb

ehemals "ich"

BeitragSo, Dez 03, 2006 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja danke ich habs jetzt so weit verstanden also kann man eigenntlich mehrere
Pixel nehemn also ein Pixelbrecht eine Hellichkeit zuweisen

Danke für antworten


mfg

ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Dez 03, 2006 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
@DerHase, bist du dir sicher, dass Grün am stärksten aufgehellt werden muß? Grün ist doch schon die 'hellste' Farbe am Bildschirm.
 

Ava

Gast

BeitragSo, Dez 03, 2006 19:53
Antworten mit Zitat
hectic hat Folgendes geschrieben:
@DerHase, bist du dir sicher, dass Grün am stärksten aufgehellt werden muß? Grün ist doch schon die 'hellste' Farbe am Bildschirm.


Genau deshalb muss sie ja zur Bestimmung der Helligkeit am meisten gewichtet werden. Wink ...um "Aufhellen" geht es ja gar nicht...

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Dez 03, 2006 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Achja, stimmt Ava! Denkfehler...

StepTiger

BeitragSo, Dez 03, 2006 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
DerHase hat Folgendes geschrieben:
Du addierst R-ot G-rün und B-lau Wert eines Pixels. Und ermittelst dann den Mittelwert. Wenn Du diesen Wert auf R,G und B gleichmässig verteilst, kannst Du den Pixel mit der selben Helligkeit aber in grau anzeigen.


Edit:

Ich täuschte mich, die Standard Konversion lautet:
grau = 0.299 * R + 0.587 * G + 0.114 * B

Ich hab es eben mal getestet:
Code: [AUSKLAPPEN]
Graphics 320,240,0,2
SetBuffer (BackBuffer())
r = 200
g = 100
b = 10

grau = 0.299 * r  +  0.587 * g  + 0.114 * b


While Not KeyHit(1)

   Color (r,g,b)
   Rect 10,10,30,30,1

   Color (grau,grau,grau)
   Rect 50,10,30,30,1

   Flip:Cls

Wend


darf man vorsichtig fragen, woher die formel stammt?
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

DerHase

BeitragSo, Dez 03, 2006 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@StepTiger: Hier steht´s z.B. aber ich hab es auch mittlerweile in meinem Lehrbuch gefunden, ich erinnerte mich grade dran nachdem ich die erste Version gepostet hatte. Die Formel ist glaub ich nur für Röhrenmonitore ganz richtig.
Ah, hier steht auch noch was drüber.
Play Satyr!

StepTiger

BeitragSo, Dez 03, 2006 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Da steht aber nicht, dass das DIE richtige Methode ist.

Luminanz ist nur ein vollkommen anderes Verfahren als Durchschnittsfarbe

So wie heightmap und vertexmap. Machen ähnliche Sachen, haben die gleiche Funktion (als Bumbmap) aber wirken anders.

Ich persönlich finde Luminanz schöner ^^
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

DerHase

BeitragMo, Dez 04, 2006 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, so gesehen gibt es keine Richtige Methode, die beschriebene Methode gilt nur für einen idealen Röhren Monitor, den es so nicht gibt.
Bei meinem Laptop (der ja keinen Röhrenmonitor hat) zum Beispiel sieht die Sache so aus, die grünen Farbtöne werden mit diesem Luma Ding besser umgerechnet, die blauen mit dem Durchschnitt. Also müsste ich rumexperementieren, welches bei mir die richtigen Faktoren sind, bei dem Durchscnitt ist er einfach jeweils 0.333 . Das Problem ist halt nur das jeder nen anderen Bildschirm hat, nen anderen Geschmack so weiter und so fort Smile
Eine Methode dies zu lösen wäre im Menü etwas einzubauen, wo jeder für die 3 Graundfarben die jeweils passende Helligkeit für sich einstellt. Sowas ähnliches gab es ja mal bei dem Spiel Abuse. Dies ist mittlerweile Freeware und auch die neueren Betriebsysteme kompiliert worden. Da lohnt sich immer nen Blick drauf. Aber ich schweiff ab, das Thema ist halt schön Smile
Play Satyr!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group