|
|
Punkte verbinden und entschärfen |
|
fTcUbM |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 12.02.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.02.2009, 17:22
Titel: Punkte verbinden und entschärfen
|
 |
Hi, bin neu bei euch im Forum und hab gleich mal eine Frage. Da es recht schwer ist zu erkären hab ich mal drei Bilder angehängt.
Zur Erklärung: Ich habe ein Video und bestimme alle 5 Frames die Position einer Person (Punkte Bild 1). Nun möchte ich daraus den ungefähren Pfad der Person bestimmen (Bild 2) und diese dann abrunden bzw. entschärfen (wie in Bild 3). Ich weiß nicht genau wie ich anfangen soll das umzusetzen. Ich benötige Schritt 2 nicht unbedingt, Ziel ist es aus vorhandenen x/y Koordinaten einen Graphen plotten zu können wie er grün in Bild 3 zu sehen ist.
Jemand eine Idee?
1000 Dank!
Beschreibung: |
|
 Download |
Dateiname: |
3.jpg |
Dateigröße: |
29.38 KB |
Heruntergeladen: |
873 mal |
Beschreibung: |
|
 Download |
Dateiname: |
2.jpg |
Dateigröße: |
17.87 KB |
Heruntergeladen: |
830 mal |
Beschreibung: |
|
 Download |
Dateiname: |
1.jpg |
Dateigröße: |
6.11 KB |
Heruntergeladen: |
824 mal |
|
|
|
|
|
Epfi |

Forum-Meister
|
 |
Beiträge: 1.134
|
 |
|
 |
Anmeldedatum: 08.01.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.02.2009, 18:06
Titel:
|
 |
|
 |
|
Hast Du die Punkte schon vorliegen oder brauchst Du tatsächlich noch einen Tracking-Algorithmus um eine Person in einem Video zu verfolgen?
Bild 2 und Bild 1 sind für die Bearbeitung mit Matlab das gleiche. Die "Entschärfung" kannst Du auf diverse Arten erreichen.
Zum Beispiel durch Filterung. (doc filter ist sehr hilfreich (Stichwort: running average)). Wenn die Ecken weniger Rund werden sollen bzw. die Abweichung zu groß ist, kannst Du einfach ein paar Zwischenpunkte auf den Verbindungsgeraden ausrechnen und in deinen Punktevektor einfügen.
Eine Alternative zur Filterung wäre, ein Spline durch die Punkte zu legen. Nur bedingt geeignet, wenn es echtzeitig laufen soll, da sich die geglättete Funktion von vergangenen Zeiten noch ändern kann.
Ähnlich dem Spline, aber weniger gut für (quasi-)unendlich lange Sequenzen: Annäherung durch ein Polynom. Dafür gibt es unter Matlab auch diverse Hilfsmittel. Hier das gleiche Problem wie bei Splines - nur bedingt sinnvoll für Echtzeit-Anwendung.
Meine bevorzugte Lösung wäre ein Filter.
Plotten geht dann letztendlich über plot(x, y) - ganz easy ;)
|
|
|
fTcUbM |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 12.02.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.02.2009, 12:58
Titel:
|
 |
Super, danke! Ja die Punkte hab ich vorliegen.
Das mit dem Filter hab ich nicht so richtig hinbekommen aber das mit dem Spline ging dann. Ist nicht Echtzeit, wäre also kein Problem.
Nun hab ich das Problem, dass die Kurve teilweise ein wenig über das Ziel hinausschießt. Gibts da noch eine Möglichkeit das ganze ein wenig zu "glätten" ohne weitere Zwischenpunkte zu berechnen?
Hab mal ein Bild angehängt wie es momentan aussieht...
Beschreibung: |
|
 Download |
Dateiname: |
spline.jpg |
Dateigröße: |
16.56 KB |
Heruntergeladen: |
883 mal |
|
|
|
Gninneh |

Forum-Newbie
|
 |
Beiträge: 4
|
 |
|
 |
Anmeldedatum: 29.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.09.2010, 11:31
Titel: pchip
|
 |
Versuch mal anstatt spline den Befehl pchip. Dieser verhindert ein überschwingen =)
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 29.09.2010, 14:34
Titel: Re: Punkte verbinden und entschärfen
|
 |
Hallo fTcUbM,
für das Tracking von Bewegung wird oft der Douglas-Peuker-Algorithmus verwendet. Google findet dazu einiges, z.B. auch in der FEX.
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|