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

Videos Frameweise speichern/encodieren

 

Mad_Stan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.03.2010, 09:14     Titel: Videos Frameweise speichern/encodieren
  Antworten mit Zitat      
Hi Leute!

Ich muss mit Matlab ein längeres Video verarbeiten. D.h. ich lese ein Video mit mmreader Frame für Frame ein, mache dann meine Verarbeitung und danach möchte ich das ganze wieder als video speichern.
Da das Video lang ist, wäre es cool, wenn ich das Video Frame für Frame aufbauen könnte. D.h. im nach dem ersten Durchgang besteht das avi aus einem Frame, im zweiten Durchgang besteht das video aus 2 Frames ....!

Wieso ich das will? Matlab selbst schlägt vor zuerst das Video zu verarbeiten, man hat dann ein sehr großes struct mov, in dem alle Bilder des Videos untergebracht sind. Aufgrund des Speicherbedarfs kann ich höchsten 60 Frames speicher, was mir zu wenig ist. Außerdem sollte die Systemauslastung möglichst gleichmäßig sein. Das Video muß nicht komprimiert werden, es reicht, wenn es unkomprimiert gespeichert wird.

Wäre sehr cool, wenn mir jemand helfen könnte!

Grüße

Bernhard


Mad_Stan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.03.2010, 09:38     Titel:
  Antworten mit Zitat      
ich glaube, dass ich die entsprechende Funktion gefunden habe! Mit avifile kann man ein Avifile öffnen!
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.03.2010, 11:45     Titel:
  Antworten mit Zitat      
Hier ist mein Code! Funktioniert auch ganz gut, nur macht der mmreader Probleme. Die Bilder die er aus dem Video produziert sind verzerrt (Beispiel im Anhang). Liegt wahrscheinlich am Codec. Mit uncompressed files funktioniert es auch nicht.
Eine Lösung mit der alten aviread funktioniert hingegen einwandfrei, auch wenn damit nur uncompressed files ausgelesen werden können.

Würde gerne den mmreader verwenden, weil man damit flexibler ist!!

Bin für jede Hilfe dankbar

Code:

function processVideo(video)
% video = string;
% funktioniert nur mit uncompressed vidoes, aviread-Lösung
%input video

videoIn = mmreader(video);
videoInInfo = aviinfo(video);

%output video
videoOut = avifile('video_output.avi','Compression','None','FPS',3,'Videoname',['Tracking_' date]);

for i=1:videoInInfo.NumFrames

    vidFrames = read(videoIn,i);
    mov.cdata = vidFrames(:,:,:);
    mov.colormap = [];
   
    %% processing ...

        disp(['processing Frame ' num2str(i) ' von ' num2str(videoInInfo.NumFrames)])
   
    %%
    videoOut = addframe(videoOut,mov);  
   
end

videoOut = close(videoOut);
 


verzerrt.jpg
 Beschreibung:
zum einen ist das bild abgeschnitten, Farben sind falsch und Bild wiederholt sich ... das läuft was falsch

Download
 Dateiname:  verzerrt.jpg
 Dateigröße:  85.23 KB
 Heruntergeladen:  652 mal
 
Mad_Stan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.03.2010, 12:19     Titel:
  Antworten mit Zitat      
scheint dieser Fehler zu sein:

http://www.mathworks.com/support/bu.....oducts=&commit=Search

der natürlich für meine Matlabversion(2007b) anscheinend nicht behoben wurde. Auf jeden Fall finde ich die besagte Datei nicht Sad
Hab jetzt eigentlich schon aufgegeben, ne Lösung zu finden!! Ist dann eigentlich auch nicht so schön, wenn das Programm mit älteren Versionen nicht funktioniert
 
Mad_Stan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2010, 13:06     Titel:
  Antworten mit Zitat      
ich mach hier mal zu!
 
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.