Entwickler-Ecke
Multimedia / Grafik - Rotwert aus Image auslesen
maxrus - Sa 18.02.12 19:03
Titel: Rotwert aus Image auslesen
Hallo,
ich schreibe gerade ein Programm, bei dem ich ein Bild auf imagefeld lade und aus dem bild will ich den rotwert auslesen und auf ein label ausgeben
da ich nicht weiß wie man rotfilter arbeitet, kann mir jemand stichpunktartig erklären wie ich vorgehen soll
mein Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button1Click(Sender: TObject); var i,j,h,w,farbe:integer; begin image1.Picture.LoadFromFile('Futur.bmp'); h:=image1.Height; w:=image1.Width;
for i:=0 to h do for j:=0 to w do begin farbe:=image1.Canvas.Pixels[j,i]; end; label1.Caption:=inttostr(farbe); end; |
mit diesem Programm habe ich glaube alle Pixeln einfach ausgelesen aber nicht den Rotanteil bzw. Rotwert
Moderiert von
Narses: Delphi-Tags hinzugefügt
Narses - So 19.02.12 00:11
Moin!
maxrus hat folgendes geschrieben : |
ein Bild auf imagefeld lade und aus dem bild will ich den rotwert auslesen und auf ein label ausgeben |
Was du da tust und sagst, macht einfach keinen Sinn. :nixweiss:
Kannst du erstmal erklären, was "der Rotwert" von einem (ganzen?) Bild sein soll? :gruebel: Und wie man "den Rotwert" in einem Label anzeigen soll?! :lupe:
cu
Narses
Xion - So 19.02.12 09:55
Dazu muss man sagen dass du in deiner Schleife einfach nur Farbe jeden Pixel einmal zuweist (am Ende ist es also immer die Farbe des letzten Pixels!, warum also der Aufwand mit der Schleife?)
Was du vermutlich meinst ist:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| for i:=0 to h-1 do for j:=0 to w-1 do begin farbe:=farbe+GetRValue( image1.Canvas.Pixels[j,i] ); end; label1.Caption:=inttostr(farbe); |
=> jetzt hast du die Summe aller Rotwerte und kannst z.B. den Mittelwert ausrechnen (in dem Fall wäre vielleicht int64 für Farbe nicht ganz falsch um auf Nummer sicher zu gehen).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!