RGB

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Appart

Betreff: RGB

BeitragMi, Mai 07, 2008 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
so ich wollte mal wissen wie man ein bild nach einem bestimmten RGB wert durchsucht (am besten in real-time).
mfg appart
 

Tritium

BeitragMi, Mai 07, 2008 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
In Realtime wird das nur mit 2D-Unterstützung sehr schwierig, wenn die Bilder mehr als ein paar zehn Pixel haben. Trotzdem gibt es zwei Methoden, mit denen Du das machen könntest:

Zum einen mit GetColor

Code: [AUSKLAPPEN]
Getcolor x,y
r = ColorRed()
g = ColorGreen()
b = ColorBlue()


Mit GetColor bestimmst Du also zunächst, welchen Pixel Du auslesen möchtest. Die drei folgenden Funktionen geben dann die entsprechenden Farbanteile mit einem Wert zwischen 0 und 255 zurück.

Eine wesentlich schnellere Funktion ist ReadPixel bzw. ReadPixelFast, das sollte Dir aber jemand erklären, der davon mehr Ahnung hat als ich.

D2006

Administrator

BeitragMi, Mai 07, 2008 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Zum Beispiel die Hilfe:

ReadPixel, ReadPixelFast

(diese Links macht man einfach mit [[-Befehlsname-]], allerdings ohne die Bindestriche.)
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

The_Nici

BeitragDo, Mai 08, 2008 7:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Wobei man dann die Hexwerte in RGB umrechnen muss, aber das kostet weder Performance noch ist es schwierig.
 

buja

BeitragDo, Mai 08, 2008 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
The_Nici hat Folgendes geschrieben:
Wobei man dann die Hexwerte in RGB umrechnen muss, aber das kostet weder Performance noch ist es schwierig.


wie die vorposter schon sagten, kannst du ja

Code: [AUSKLAPPEN]

dim farbwerte(imagewidth(image),imageheight(image))


for breite= 1 to imagewidth(image)
for hohe = 1 to imageheight(image)
farbwerte(breite,hohe) = readpixelfast(imagewidth(image),imageheight(image),imagebuffer(image))
next
next


;Hier umrechnen


Du kannst dir zum umrechnen meinen Thread anschauen, da erklärt Vector das für mich.

https://www.blitzforum.de/foru...hp?t=27990

Wink

Verbessert mich falls das falsch ist oder wenns einfacher geht
...

BladeRunner

Moderator

BeitragDo, Mai 08, 2008 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Das array ist unnötig, falls er wirklich nur wissen will ob die Farbe vorkommt,es also egal ist wie oft sie vertreten ist.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

buja

BeitragDo, Mai 08, 2008 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, ich dachte er wollte den Wert speíchern.

Er will doch nur prüfen ob die Farbe xyz ist oder?
Dann kann man in der Schleife prüfen

If farbe = bestimmte RGB Farbe dann eine Variable ist true oder false. oder?
...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group