![]() |
Video in Delphi abspielen und Bilder auslesen
Hallo Leute - ich sitze schon seit geraumer Zeit an einem Delphi - Programm mit dem man mithilfe eines kurzen video´s ein Objekt (wie bspw. einen geworfenen Ball) verfolgen kann. Das Programm vergleicht die Einzelbilder per Differenzbildung, entfernt einzelne Pixel und lässt Gruppen von Pixeln wieder anwachsen. Aus den übrig gebliebenen Pixeln berechne ich dann den Schwerpunkt - also die Position des Objektes.
Mein Problem besteht jetzt darin von Einzelbildern auf ein Videoformat umzusteigen (z.B. avi). Ich versuche es im moment mit der Mediaplayerkomponente. Das sieht gerade in etwa so aus:
Delphi-Quellcode:
Im Objektinspektor habe ich Panel1 als Display zugewiesen. Der Ton des Videos wird zwar abgespielt, das Bild fehlt aber.
mediaplayer1.FileName:='Pfad des Videos';
mediaplayer1.Open; MediaPlayer1.DisplayRect:=Panel1.ClientRect; MediaPlayer1.Play; Ich benutze Delphi7 - eine Fehlermeldung bekomme ich auch nicht. Hat jemand einen Tipp für mich? Ich komm einfach nicht weiter. |
Re: Video in Delphi abspielen und Bilder auslesen
Hallo und *räusper* herzlich willkommen in der DP :party:
Zu deiner Frage:
|
Re: Video in Delphi abspielen und Bilder auslesen
Außer Display habe ich keine Änderungen vorgenommen bis auf den Recordknopf. Den habe ich deaktiviert und auf unsichtbar geschaltet.
Devicetype steht auf automatisch. Als ich mal AVIVideo probiert habe kam auch der Ton nichtmehr aber auch keine Fehlermeldung. Laut Eigenschaften der Datei ist das Audioformat MPEG Layer-3 die Videokomprimierung DivX. Ich muss auch nicht zwingend eine avi verwenden. Wenn es erfahrungsgemäß Formate gibt die sich einfacher händeln und auswerten lassen nehm ich auch gern die. Für Vorschläge bin ich offen. Die Decoder müsste ich eigentlich haben - zumindest ließ sich bisher alles reibunglos in Media und VLC Player abspielen. |
Re: Video in Delphi abspielen und Bilder auslesen
Bei DivX6-Videos habe ich genau das gleiche Problem: kein Bild, obwohl der Codec installiert ist. Alles Andere wird korrekt abgespielt (z.B. Xvid oder DivX4). Ist der Grund für den Umstieg auf ein Videoformat die Dateigröße?
|
Re: Video in Delphi abspielen und Bilder auslesen
Im Grunde genommen ist mir die Dateigröße egal. Ich habe zunächst nur avi versucht weil ich in einigen Themen gelesen hab dass es ganz gut funktionieren soll und ich auch gerade eins zur Hand hatte. Priorität hat nur die Verwertbarkeit der Bilder.
|
Re: Video in Delphi abspielen und Bilder auslesen
Ok ich hab jetzt ein wmv verwendet und es funktioniert.
jetzt muss ich nurnoch meinen quelltext den ich vorher mit dem Pixels befehl durchgeführt habe auf scanlines umschreiben.
Delphi-Quellcode:
for x:=1 to {2560} image1.Width do
for y:=1 to {454} image1.Height do begin f1:=image1.Canvas.Pixels[x,y]; f2:=image2.Canvas.Pixels[x,y]; diff:= (g_f(f2) - g_f(f1)); //farbwerte der bilder voneinander subtrahieren -> differenzen sind neue farbwerte -> schwarzer ball - weiße oberfläche if diff >0 then image4.Canvas.Pixels[x,y]:=rgb(0,diff,0) else image2.canvas.Pixels[x,y]:=clwhite ; |
Re: Video in Delphi abspielen und Bilder auslesen
Ok es ist ein neues Problem aufgetreten - wie komme ich an das Bild, dass im Panel angezeigt wird?
Ich möchte einfach versuchen jedes Bild oder zumindest 2-4 Bilder pro sekunde aus dem Panel auszuwerten um an die Koordinaten des Schwerpunktes zu errechnen. Um mein Ergebnis zu verbessern suche ich auch gerade nach einer Möglichkeit die Pixel zu fluten - also vielen zusammenhängenden Pixeln der gleichen Farbe wie in Paint eine neue Farbe zuzuweisen. Ich erhoffe mir damit einfach eine weitestgehende Auslöschung des Bildrauschens, habe aber noch keine Idee wie ich es realisieren könnte. Wäre für Hinweise und Ratschläge dankbar. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr. |
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