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

Video Frameanalyse ohne for Schleife?

 

Zool
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 25.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.12.2012, 19:36     Titel: Video Frameanalyse ohne for Schleife?
  Antworten mit Zitat      
Hallo,
gibt es eine Möglichkeit eine Videoanalyse in Matlab schneller als in einer for Schleife ablaufen zu lassen (s. u.)?
Mein Ziel ist es, die Berechnungen zu beschleunigen. Kann man das untere Beispiel auch vektorisieren oder anders beschleunigen? Falls ja, sehe ich nicht, wie z.B. Zwischenergebnisse der Schleife gespeichert werden können (z.B. die Summenbildung der Einzelframes).

Bisher löse ich das so, dass ich die Einzelframes ins Graustufenformat bringe und anschließend ins double Format umwandle. Mit diesen Framedaten erfolgen dann die Berechnungen (hier z.B. Aufsummieren der Frames). Da das für jedes Frame des Videos einzeln gemacht werden muss, benötige ich hier eine for schleife. Manche dieser Berechnungen können extrem lange dauern, so dass ich diese Prozesse gerne optimieren und beschleunigen möchte. Hierzu fehlen mir aber die Kenntnisse.

Code:

for i = 1:n:frames
    A             = rgb2gray(read(videoObj,i));
    B             = im2double(A);    
    Bsum       = Bsum + B;  
end
 

Achja: Parallel Computing und Multithreading etc sind auf dem Anwendungsrechner nicht möglich. Ich weiß, suboptimal, daher versuche ich den Code so elegant wie möglich mit den gegebenen Mitteln zu gestalten.

Danke für eure Hilfen!
Liebe Grüße,
Zool
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.12.2012, 09:46     Titel: Re: Video Frameanalyse ohne for Schleife?
  Antworten mit Zitat      
Hallo Zool,

Ich vermute, die hautpsächliche Arbeit geschieht in "read(videoObj, i)", so dass man hier nichts nennenswert beschleunigen kann.

Allerdings hat RGB2GRAY und IM2DOUBLE einen gewissen Overhead. Du könntest statt dessen die relevanten Teile dieser Funktionen direkt in die Schleife packen.
Hat die Konvertierung in DOUBLEs wirklich Vorteile hier?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Zool
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 25.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2012, 16:39     Titel: Video Frameanalyse ohne for Schleife?
  Antworten mit Zitat      
Hallo Jan,
vielen Dank für deine Anregungen. Ja ich denke auch, dass "read(videoObj, i)" der Übeltäter ist. Die Übertragung ins double Format fällt zeitlich nicht ins Gewicht. Habe das eben mal getestet. Ich brauche auch das double Format um sinnvoll weiter zu rechnen.
Es scheint fast so, als bräuchte man für diese Art der Auswertung auch starke Hardware. Wenn ich auf dem langsamen Rechner (1 Kern) 9000 Frames in 3er Schritten analysiere, benötigt das insgesamt 105 Minuten. Auf meinem schnellen Rechner (4 Kerne) geht die gleiche Rechnerei in 14 Minuten.
Schade....vielleicht fällt jemandem noch etwas ein, ansonsten lässt sich wohl kaum etwas daran ändern.
Danke!
Grüße, Zool
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 - 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.