WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Optical Flow: Einheit des Geschwindigkeitsfeldes und Fragen

 

NiMü
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 27.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.12.2015, 15:51     Titel: Optical Flow: Einheit des Geschwindigkeitsfeldes und Fragen
  Antworten mit Zitat      
Hallo Zusammen,

ich versuche mit opticalFlowHS die Ausbreitungsgeschwindigkeit einer Verbrennung zu bestimmen. Die Verbrennung wurden in Graustufen mit einer Highspeed-Kamera aufgenommen. Ich will das Geschwindigkeitsfeld in Form von Pfeilen zu jedem einzelnen Bild erstellen.

Hier mein aktueller Code und einige Fragen dazu:

Code:

clear

% Pfad zu Messdaten
cd '...\Test Optical Flow';

files=dir('*.png');

names = {files.name};

% Optical Flow Object definieren
opticFlow = opticalFlowHS('Smoothness',1,'MaxIteration',10,'VelocityDifference',0);

%% Bildereinladen und OpticalFlow Code anwenden (100 Einzelbilder)
for i=1:100
           
       Bild= imread(names{i}, 'png');
             
       Bilderstack(:,:,i)=Bild;        
                         
       flow = estimateFlow(opticFlow,Bilderstack(:,:,i));
           
       pause on       % Pause um aktuelle Aufnahme + Geschwindigkeitsfeld zu sehen
       pause(0.01)

    figure(1)    
    image(Bilderstack(:,:,i))
    hold on
    plot(flow,'DecimationFactor',[10 10],'ScaleFactor',1000)
    hold off    

      pause off
   
end
 


Dieser Code läuft durch 100 Aufnahmen der Verbrennung und erstellt zu jedem das entsprechende Geschwindigkeitsfeld mit der Horn-Schunck Methode (zumindest hoffe ich das Confused ). Ich habe zu Testzwecken eine Zip-Datei mit 10 Verbrennungsbildern 'Verbrennung.zip' und ein Ergebnisbild 'Output.fig' mit Geschwindigkeitspfeilen angehängt.

Dazu einige Fragen:

1. Verstehe ich richtig, dass Optical Flow auf Helligkeitsunterschiede zwischen aufeinander folgenden Bildern reagiert? Laut matlab Hilfe "...spatiotemporal image brightness derivatives." Und das Optical Flow nur eine X und Y Komponente besitzt, also nur ein 2D Geschwindigkeitsfeld erstellen kann? Was mir natürlich ausreicht.

2. Optical Flow wird ja häufig für Videos eingesetzt, wo dann jeder einzelne Frame ausgelesen wird. Kann man Optical Flow überhaupt auf eine 3D Bildermatrix anwenden, wie ich sie hier mit Bilderstack(:,:,i)=Bild erstelle?

3. Welche Einheit haben meine Geschwindigkeitspfeile? Wenn ich mir die Geschwindigkeiten in X und Y Richtung ausgeben lassen erhalte ich bspw. Werte wie 7*10^-4 bis zu Maximalwerten wie 0,075. Aber was? Pixel/s , m/s , km/h? Dafür müsste matlab ja einen zeitlichen Standard Abstand zwischen einzelnen Bildern annehmen? Oder kann ich irgendwo angeben, dass zwischen meinen Aufnahmen bspw. 100 µs liegen?


Falls noch manches unklar ist, bitte einfach fragen.
Ich bin für jede Hilfe oder Verbesserungsvorschläge sehr dankbar!

Viele Grüße,
NiMü

PS: Ich verwende MATLAB R2015a!

Output.fig
 Beschreibung:

Download
 Dateiname:  Output.fig
 Dateigröße:  2.29 MB
 Heruntergeladen:  490 mal
Verbrennung.zip
 Beschreibung:

Download
 Dateiname:  Verbrennung.zip
 Dateigröße:  3.76 MB
 Heruntergeladen:  518 mal
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.