AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

farben in einem bild erkennen

Ein Thema von heiopei · begonnen am 7. Dez 2004 · letzter Beitrag vom 7. Dez 2004
Antwort Antwort
heiopei
(Gast)

n/a Beiträge
 
#1

farben in einem bild erkennen

  Alt 7. Dez 2004, 13:47
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
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#2

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 13:49
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
  Mit Zitat antworten Zitat
heiopei
(Gast)

n/a Beiträge
 
#3

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 13:56
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
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 13:57
Ist das Bild zufällig im JPG-Format gespeichert?
Das verfälscht nämlich die Farben.


Wollt ich nur mal reinwerfen
Julian J. Pracht
  Mit Zitat antworten Zitat
heiopei
(Gast)

n/a Beiträge
 
#5

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 14:00
nö is im bitmapformat! (das bild is auch im 24-bitformat)
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 14:37
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 .
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#7

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 15:34
Hab mal nen kleines Beispiel gemacht, das Testbild wurde normal mit Paint erstellt und enthält (mit weißem Hintergrund) zehn Farben.
Angehängte Dateien
Dateityp: zip colorcount.zip (2,4 KB, 37x aufgerufen)
  Mit Zitat antworten Zitat
heiopei
(Gast)

n/a Beiträge
 
#8

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 17:13
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
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#9

Re: farben in einem bild erkennen

  Alt 7. Dez 2004, 18:00
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:59 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