Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
10. Mär 2010
@Himitsu
Es handelt sich um ein 8Bit Graustufen bmp. Beim Kunden hängt eine Monochromkamera am Rechner, deren Bilder ich auswerte.
Das Ausgabeformat deiner Funktion finde ich gut. Deine neue Version funktioniert. Für meine jetzige Anwendung ist sie aber nicht schnell genug. Bei dem Bild im Anhang dauert die Ausführung bei mir ca. 900ms. Trotzdem danke
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
10. Mär 2010
Guten Morgen.
Ich habe die neue Funktion von Himitsu ausprobiert. Hier werden einzelne große Flächen in vertikale Streifen aufgeteilt. Den Fehler habe ich nicht gefunden. Ein Durchlauf dauert hier bei meinem Bild ca. 300 Millisekunden.
Danach habe ich noch einmal die Idee von jfheins aufgegriffen und meine Funktion umgeschrieben und iterativ mit einem Array gearbeitet. Das geht wunderbar...
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
9. Mär 2010
Hi,
also die Funktion von Himitsu funktioniert schon. Er kontrolliert bei jedem gültigen Pixel, ob es an eines angrenzt, das schon zu einem Bereich gehört. Wenn ja, färbt er den Bereich mit der aktuellen Farbe ein, d.h. er verbindet diese und sie sind beide unter dem gleichen Index zu finden.
Leider spielt der Zeitbedarf bei meiner Anwendung eine große Rolle. Bei einem Bild mit...
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
9. Mär 2010
Erstmal entschuldigung für das Pushen, was eigentlich von mir gar nicht so gedacht war. Ich wollte einfach das Bild noch einfügen.
@xZise:
Das Bild ist schon rechteckig, aber die gesuchten Bereiche nicht. Wenn ich eine Zeile untersuche, kann ich nicht sagen, zu welchem Bereich die Pixel gehören. Eine Zeile in der Mitte meines Beispielbildes würde z.B. 3 zusammenhängende schwarze Bereiche...
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
9. Mär 2010
Das Bild mit den X ging leider voll daneben. Nicht formatiert sah das anders aus. Darum hier ein jpg
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
9. Mär 2010
Die letzte Abfrage muss natürlich auf y > 0 prüfen. Ist in meinem eigentlichen Code auch so.
Mit einer einfachen doppelten Schleife kann ich das Problem nicht lösen, da diese Flächen beliebige Formen haben können und es auch mehrere Flächen geben kann, d.h. ich muss wissen welches der Pixel zu welcher Fläche gehört. Bei solchen Formen (2 Blobs) geht es z.B. mit einer Schleife nicht:
XXX...
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
9. Mär 2010
Ich sehe leider keine Möglichkeit die Funktion zu optimieren. Als Parameter übergebe ich nur x und y Koordinate als const integer und habe auch keine lokalen Variablen. Das Bild und die Ergebnisdaten sind Member der Suchklasse und werden nicht übergeben.
Die Funktion sucht zusammenhängende dunkle Bereiche. Das Bild wird dabei Zeile für Zeile nach einem Pixel gesucht, dessen Grauwert unterhalb...
Forum: Sonstige Fragen zu Delphi
Delphi
by kub,
8. Mär 2010
Hallo,
ich arbeite an einer Bildverarbeitungsapplikation, bei der ich ein Bild rekursiv untersuche. Bei Megapixel-bildern habe ich das Problem, dass es zu einer Zugriffsverletzung kommt, wenn sehr große Bereiche untersucht werden. Der Grund dafür ist die "Maximale Stackgröße". In den Projektoptionen kann mann höchstens $1000000 einstellen, was aber bei meiner Anwendung nicht reicht.
Mit...