Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi farben in einem bild erkennen (https://www.delphipraxis.net/35449-farben-einem-bild-erkennen.html)

heiopei 7. Dez 2004 12:47


farben in einem bild erkennen
 
hallo,
ich soll grad für meine schwester ein kleines programm für ihre facharbeit schreiben!
das programm soll mit einer karte (in einem timage) arbeiten. klickt man nun auf ein land der karte,
so sollen daten zu diesem land angezeigt werden und das land durch aufhellung hervorgehoben werden.
bis dahin hat auch alles schnell funktioniert.
ABER - nun möchte ich noch einen editor schreiben, der für meine schwester die vorhandenen länder (per farbe) erkennt, diese in einem array speicher und sie dann nach informationen dazu fragt (per eingabe)

jetzt ist nur mein problem, dass ich auch mit delhikochbuch nicht herausfinden konnte, wie ich erkennen kann wie viele farben sich in einem bild befinden und diese dann zu speichern (z.b. in einem array).

tschüssi,
heiopei

Pr0g 7. Dez 2004 12:49

Re: farben in einem bild erkennen
 
Du könntest das Bild Pixelweise durchgehen und jede neue Farbe in ein Array packen. Wenns schnell gehen sollte am besten per "ScanLine".

MfG Pr0g

heiopei 7. Dez 2004 12:56

Re: farben in einem bild erkennen
 
ja, das is jedes pixel einzeln durchgehen muss und das ich scanline verwende war mir bereits klar.
allerdings bringe ich es einfach nicht auf die reihe, daraus etwas brauchbares zu erhalten (beim ersten versuch waren es 436 und beim zwiten 130 farben - in wirklichkeit sinds 11 oder so ;-()

--> kann mir jemand irgendwie (ich glaub am besten mit einem beispiel) weiterhelfen?

heiopei

Ultimator 7. Dez 2004 12:57

Re: farben in einem bild erkennen
 
Ist das Bild zufällig im JPG-Format gespeichert?
Das verfälscht nämlich die Farben.


Wollt ich nur mal reinwerfen ;-)

heiopei 7. Dez 2004 13:00

Re: farben in einem bild erkennen
 
nö is im bitmapformat! (das bild is auch im 24-bitformat)

dizzy 7. Dez 2004 13:37

Re: farben in einem bild erkennen
 
War es evtl. mal JPEG? Sind die Farbflächen möglicherweise nicht homogen? Ist das evtl. ein Scan einer materiellen Vorlage? Beantworte eine dieser Fragen mit "ja", und du wirst mit Toleranzen arbeiten müssen ;).

Pr0g 7. Dez 2004 14:34

Re: farben in einem bild erkennen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hab mal nen kleines Beispiel gemacht, das Testbild wurde normal mit Paint erstellt und enthält (mit weißem Hintergrund) zehn Farben.

heiopei 7. Dez 2004 16:13

Re: farben in einem bild erkennen
 
vielen dank für das beispiel - werd das jetztso machen!!!

ps: das bild war auch zuvor kein jpg, da ich das bild mit paint selbst erstellt habe.

nur aus interesse: was bringt das finalize(colors); am ende der prozedur?
ist das das selbe wie colors := nil oder was?!?

tschüsi,
heiopei

Pr0g 7. Dez 2004 17:00

Re: farben in einem bild erkennen
 
Zitat:

Zitat von heiopei
nur aus interesse: was bringt das finalize(colors); am ende der prozedur?
ist das das selbe wie colors := nil oder was?!?

Nein, "colors := nil" wäre das gleiche wie "SetLength(Colors, 0);". Durch das "Finalize(Colors)" soll verhindert werden, dass Speicherlecks entstehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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