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

Bilder erstellen aus eingelesenen Videos?

 

Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 06.10.2010, 10:01     Titel:
  Antworten mit Zitat      
In dem Beispiel ist vidFrames eine 4D Matrix (muss man nicht machen, man kann auch Frames einzeln einlesen, dann ist es 3D). Doku:

Zitat:
video is an H-by-W-by-B-by-F matrix where H is the image frame height, W is the image frame width, B is the number of bands in the image (e.g., 3 for RGB), and F is the number of frames read in.


Der Doppelpunkt heisst immer "alle Elemente", also z.B.:

Code:

a=[1 2; 3 4]
a(:,1) % Alle Elemente der ersten Spalte
 


Die [] Zuweisung heisst so viel wie etwas Leeres zuweisen. Warum dass hier sinnvoll sein soll kann ich nicht sagen. Vielleicht ist eine Colormap Information in dem Beispiel nicht sinnvoll (Intensitätsbilder).

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


Matlab_Fan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.10.2010, 13:24     Titel:
  Antworten mit Zitat      
Hallo Andreas,

so nun versuche ich die Funktion 'mmreader' auf einem anderen Rechner zu benutzen klappt aber nicht. der kennt die Funktion gar nicht???

Mit avi read hab eich so meine probleme...kannst du mir bitte helfen.


ich habe jetzt das Video so eingelesen:

Code:
video= aviread('test.avi')


dann möchte ich Frame/Bild 2 einlesen.

Code:
Frame=video(2).cdata;


und ddann soll er mir das als Bild anzeigen, damit ich sehe ob das überhaupt das richtige bild ist.

Code:
movie(Frame, 1, 1)


aber es klappt nicht...mano..bin jetzt so lange dran und es geht noch nix...


Kannst du mir bitte helfen, dass ich das video einlese, einen schreenshot vom frame 2 mache und diese dann speicher..bitteeeee:-)
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 06.10.2010, 13:37     Titel:
  Antworten mit Zitat      
Moin Matlab_Fan,

vielleicht hilft Dir das:

Code:
mov=aviread('Test.avi');
h=figure;
movie(h,mov);
[X,map]=frame2im(mov(3));  % gibt Bild No. 3 wieder
figure; imshow(X)


Hubertus


P.S. Das nervt langsam mit "Code". Wenn man sich einmal vertan hat, ist es nicht möglich, diesen Fehler zu bereinigen. Siehe jetzige Darstellung. Code entfernen bringt nichts oder bin ich zu dusselig?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 06.10.2010, 13:54     Titel:
  Antworten mit Zitat      
Hallo

Zitat:
P.S. Das nervt langsam mit "Code". Wenn man sich einmal vertan hat, ist es nicht möglich, diesen Fehler zu bereinigen. Siehe jetzige Darstellung. Code entfernen bringt nichts oder bin ich zu dusselig?

Du hattest bloß ein Tag Code zu viel
Der Tag wird immer am Ende des Textes eingefügt,
na ja ich schreibe immer von Hand die Tags
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 06.10.2010, 14:00     Titel:
  Antworten mit Zitat      
Wenn das so einfach wäre, würde mich das nicht nerven. Den 3. Code habe ich nicht gesetzt, der kam automatisch. Wenn ich Code entferne erscheint ein Text mit lesbar Code am Anfang und am Ende.

Ich habe sogar den kompletten Text aus der Eingabemaske entfernt, in Wordpad zwischengespeichert und wieder eingefügt. Auch das hilft nicht.
Die einzige Möglichkeit ist, den gesamten Text zu entfernen und Tast für Taste neu einzugeben. Das wollte ich mir sparen.

Aber trotzdem vielen Dank für eine Stellungnahme.

Viele Grüße

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 06.10.2010, 15:51     Titel:
  Antworten mit Zitat      
MMREADER ist noch nicht sehr alt. Daher tippe ich, dass es nicht am anderen Rechner liegt, sondern an einer anderen MATLAB Version.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Matlab_Fan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.10.2010, 17:31     Titel:
  Antworten mit Zitat      
Hallo Anreas,

ok. auf einem anderen rechner habe ich die aktuellste Version von Matlab und dort klappt es nicht.

Und auf meinem Laptop habe ich die alte Version und dort klappts!??



Zudem noch:

a)du hattest mir ja ein Skript vorgeschlagen bzgl. Video einlesen, frame lesen.

wie kann man dort noch einbauen, dass man z.b das 1. Frame ausschneidet bzw. einen Screenshot macht?

b) wenn videos mit einer kamera aufgenommen worden sind, dann liest er es nicht ein bzw. macht probleme beim abspielen..!?

Da gibt matlab oft den fehler etwas mit

"only 8-bit frames"


???

lg
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 06.10.2010, 17:56     Titel:
  Antworten mit Zitat      
Zitat:
....Kannst du mir bitte helfen, dass ich das video einlese, einen schreenshot vom frame 2 mache und diese dann speicher..bitteeeee:-)


Sag mal, liest Du die Antworten auf Deine Frage noch????

Wenn Du andere Vorstellungen hast oder die Antwort nicht zu Deinem Problem paßt, wäre es ganz hilfreich, das kurz zu erwähnen. Dann kann man nach einer anderen Lösung suchen oder sich enthalten. Aber gar nicht darauf eingehen finde ich nicht besonders motivierend.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Fan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.10.2010, 19:08     Titel:
  Antworten mit Zitat      
Hallo Hubertus,

natürlich lese ich die antwort.

war sehr hilfreich...danke. Könntest du aber bitte auch kurz erläutern was in den Zeilen gemacht wird, besonders Zeile 2 und 3.


Zudem gibt matlab ein fehler aus, dass nur Videos mit 8-bit frame eingelesen werden können!???


geht das ganez auch über ?aviread

lg
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 07.10.2010, 03:56     Titel:
  Antworten mit Zitat      
"geht das ganez auch über ?aviread"


Question Der Befehl ist doch aufgeführt!!

Diese Frage und die Fragen zu Zeile 2+3 verstehe ich auch nicht. Die sind doch wohl selbsterklärend, wenn man sich nur ein bischen mit Matlab auskennt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 07.10.2010, 08:42     Titel:
  Antworten mit Zitat      
Ich habe dieses kleine mandel.avi eingestellt um gemeinsam Code auszuprobieren der dann bei den ríchtigen Filmen funktioniert. Wenn die richtigen Filme aber irgenwie anders sind, wäre es hilfreich ein echtes AVI einzustellen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Matlab_Fan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2010, 09:30     Titel:
  Antworten mit Zitat      
Hallo Andreas,

leider kann ich das Video hier nicht veröffentlichen.

wenn ich das Video abspielen lassen will mit "movie", dann folgt diese Fehlerausgabe:

??? Error using ==> movie
Movie cdata must be of type uint8 array.


lg
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 07.10.2010, 13:49     Titel:
  Antworten mit Zitat      
Passt das?

http://www.mathworks.com/support/so...../data/1-1ZD36P/index.html

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Matlab_Fan

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.10.2010, 21:08     Titel:
  Antworten mit Zitat      
Hallo Andreas,

ok das habe ich nun verstanden. Eigentlich brauche ich das ja gar nicht mit "movie" abzuspielen, es reicht mir, wenn ich die Frames abspeichern kann.

Kannst du mir nun vielleicht auch sagen was ich machen kann, wenn dier Version an meinem PC(Matlab 2006a) mmreader oder Videoreader nicht erkennt?

lg
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 08.10.2010, 11:38     Titel:
  Antworten mit Zitat      
MMREADER wurde mit R2008a eingeführt. Also heisst es ein Upgrade durchzuführen idealerweise auf das selbe Release wie beim anderen Rechner.

Falls es eine Hochschule ist, kann ich sagen, dass eigentlich alle deutschsprachigen Hochschulen Wartungsverträge haben, also ein Upgrade kostenlos ist. Falls meine Hilfe nötig ist - bitte eine Email oder PN mit der Lizenznummer.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.