Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnung?) (https://www.delphipraxis.net/15954-grafikroutine-gesucht-evt-mit-wahrscheinlichkeitsrechnung.html)

hitzi 7. Feb 2004 16:26


Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnung?)
 
Hallo,

irgendwie steh ich heute auf dem Schlauch. Ich habe die Farbdaten jedes Pixels von zwei verschiedenen Bildern.
Diese Bilder stehen in einer zeitlichen Folge von 15min.

Erstes Problem: Kennt jemand eine Möglichkeit die Zwischenbilder zu berechnen (eine Art Transition?) ?
Zweites Problem: Gibt es eine Möglichkeit die Entwicklung des Bildes aus den zwei Bilder zu berechnen?

Der Zeitunterschied zwischen den beiden Punkten ist bekannt. Es gibt nur 7 verschiedene Farben, welche die Intensität darstellen (0 nichts, 1 niedrige ... bis ... 6 hohe Intensität).

Delphi-Quellcode:
Zeitpunk A             Zeitpunkt B                 Zeitpunkt C
(bekannt)              (bekannt)               (irgendwie berechnen)
----+-----------------------+-----------------------------+-------------------->
Ich brauche irgendeinen Anhaltspunkt auf dem ich meine weitere Suche aufbauen kann.
Ich dachte ich kann das über die Wahrscheinlichkeitsrechnung lösen. Pixel für Pixel überprüfen und über den Intensitätsunterschied auf die Bewegung schlussfolgern. Aber das funktioniert bei mir nicht.

Gibt es einen anderen Lösungsansatz?
Für Quellen und Infos bin ich sehr dankbar.

Bye Hitzi

Luckie 7. Feb 2004 16:36

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Was heißt "funktioniert nicht"? Was hast du denn schon für Ansätze/Code?

hitzi 7. Feb 2004 17:19

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Hallo,

mein Ansatz ging in die Richtung, dass ich jedes Pixel vergleiche und auf Grund der Intensitätsänderung den möglichen Zustand des Pixels in der Zukunft darstelle. Nur bleibt da eben die Bewegung außen vor. Was ist mit den Pixeln, die noch keine Intensität/Farbe besitzen, aber mit großer Wahrscheinlichkeit in den nächsten Minuten eine Intensität bekommen - da ist noch keine Änderung vorhanden, auf Basis derer ich die Zukunft des Pixel berechnen kann.

Der erste Ansatz ist schon etwas älter und ging in die Richtung Vektorisierung. Aber hier fehlt mir leider das notwendige Wissen zur Vektorisierung. Ich wollte einfache Kreise um Pixelanhäufungen machen und nun Bild1 mit Bild2 vergleichen und so die Bewegung des Vektors errechnen.

Eventuell muss ich beide Ansätze implementieren. Mit einem Vektor die Bewegung ermitteln und über die Intensitätsänderung die zukünftige Intensität errechnen.

BYe Thomas

PS: Wenn ich von Bewegungen spreche, dann meine ich lineare Bewegungen.

hitzi 7. Feb 2004 17:22

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Nochwas ....

Code ist erstmal zweitrangig. Mir geht es nur um Lösungansätze. Die Umsetzung mach ich schon selber :)

MfG Hitzi

hboy 7. Feb 2004 17:40

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
hast du schon mal an Bei Google suchenregion growing gedacht ? du kannst damit objekte anhand ihrer gestalt und fläche erkennen und vergleichen. Daraus kann man dann die Bewegung ableiten.

2. Zwischenbilder ? du kannst die ineinander reinblenden oder morphen. Dazu bräuchtest du jedoch die Bewegung die du wohl rausfinden willst.

hboy 7. Feb 2004 17:44

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Floodfill ist z.B. region growing. mit einem eigenen Verfahren kann man auch toleranzbereiche einbauen

hitzi 7. Feb 2004 17:59

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Hallo,

die Floodfill/Region Growing Variante bringt mir leider nichts.

Nochmal zur Verdeutlichung:

(vereinfacht ----- 0 = nichts; 1 = Farbe/Intensität)

Delphi-Quellcode:
Bild 1:

0|0|1|0|0
-|-|-|-|-
0|1|1|0|0
-|-|-|-|-
0|0|1|1|0
-|-|-|-|-

Bild 2:

0|0|0|0|0
-|-|-|-|-
0|0|1|1|1
-|-|-|-|-
0|0|0|1|1
-|-|-|-|-
Daraus kann man mit bloßen Augen eine leichte Bewegung nach rechts, evt auch rechts/unten erkennen. Um eben dieses Erkennen geht es mir. Ich möchte die Richtung und die Distanz errechnen. Es muss nicht unbedingt pixelgenau sein, wäre aber schön :)

MfG Hitzi

hboy 7. Feb 2004 18:42

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
jaja schon klar aber mit region growing kannst du gleiche objekte auf den bildern ermitteln und aus deren positionen die Bewegung ableiten

hboy 7. Feb 2004 18:51

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Delphi-Quellcode:

Bild1          Bild2
00000000000000 00000000000000
00000000000000 00000000000000
00000##0000000 00000000000000
00000###000000 0000000##00000
00000####00000 0000000###0000
00000000000000 0000000####000
00000000000000 00000000000000
00000000000000 00000000000000

Regionen growen, rechte, linke, obere und untere Maxima festhalten

Bild1          Bild2
00000000000000 00000000000000
0000------0000 00000000000000
0000|..00|0000 000000------00
0000|.M10|0000 000000|..00|00
0000|....|0000 000000|.M20|00
0000------0000 000000|....|00
00000000000000 000000------00
00000000000000 00000000000000

M1 und M2 sind die mittelpunkte der Rechtecke

Der Verschiebungsvektor ist nun [(M2.X-M1.X) (M2.Y-M1.Y)]
Edit:
Anmerkung: ich glaube pixelweise kann man eine Bewegung nicht feststellen. man könnte die Bilder jedoch von einander subtrahieren. dann entsteht vor und hinter dem bewegten Bildausschnitt eine differenz, im umliegenden bereich nicht. der Winkel der bewegung lässt sich aus der Lage der beiden Differenzbereiche ermitteln

hitzi 7. Feb 2004 19:09

Re: Grafikroutine gesucht(evt. mit Wahrscheinlichkeitsrechnu
 
Haloo hboy,

den von dir angesprochen Algorithmus könnte ich als eine Art Vektorisierung mißbrauchen :)

Nur braucht man dazu einen Ausgangspunk (Saatpunkt), da muss ich mich noch schlau machen wie ich den ermittel.

Meiner Meinung nach ein gutes Dokument zum Einstieg in diese Materie:
http://www.ient.rwth-aachen.de/team/...ristian.SA.pdf

Ich laß meine Frage mal noch als offene Frage markiert, da ich jetzt noch nicht abschätzen kann, ob es mir wirklich weiterhilft.

Weitere Vorschläge zur Problemlösung sind gern von mir gesehen :-D

Bis dahin
Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz