MATLAB bietet verschiedene Möglichkeiten zum Aufnehmen von Videos, abhängig von Ihren Anforderungen und der Hardware, die Sie verwenden. Hier sind Beispiele, die die "Imaq` Toolbox" (für mehr Steuerung und verschiedene Geräte) und die Funktion "VideoInput" (einfacher, aber möglicherweise weniger flexibel) verwenden.
Methode 1:Verwenden der "iMaq` Toolbox (für die meisten Fälle empfohlen)
Diese Methode bietet mehr Flexibilität und Kontrolle über den Akquisitionsprozess, sodass Sie mit verschiedenen Videoquellen (Webcams, Capture -Karten usw.) arbeiten können. Sie benötigen die Image Acquisition Toolbox.
`` `matlab
% Ersetzen Sie 'Winvideo' durch den entsprechenden Adapter für Ihr Gerät.
% IMAQHWINFO verwenden, um verfügbare Adapter und Geräte aufzulisten.
vid =VideoInput ('Winvideo', 1); % 1 repräsentiert normalerweise die erste Kamera
% Setzen Sie Eigenschaften (passen Sie diese nach Bedarf an)
set (VID, 'Framesspertrigger', 1); % Erfassen Sie jeweils einen Rahmen
set (vid, 'Triggerrepeat', Inf); % Erfassen kontinuierlich
set (vid, 'returnedColorSpace', 'rgb'); % RGB -Bilder erhalten
% Starten Sie die Videoaufnahme
Start (vid);
% Capture Frames (Beispiel:Capture für 10 Sekunden)
Tic;
während toc <10
[Frame, Zeit, ~] =getData (vid, 1); % Erhalten einen Rahmen
IMshow (Rahmen); % Zeigen Sie den Rahmen an
Titel (Sprintf ('Zeit:%.2f Sekunden', Zeit));
gezeichnet; % Aktualisieren Sie die Anzeige
Ende
% Stoppen Sie die Videoaufnahme
Stopp (vid);
löschen (vid);
klares Video;
`` `
Bevor Sie dies ausführen:
1. Überprüfen Sie Ihren Adapter: Führen Sie im Befehlsfenster "iMaqhwinfo" aus, um zu sehen, welche Videoeingabegeräte auf Ihrem System verfügbar sind. Dadurch werden Ihnen die richtige Adapterzeichenfolge angezeigt (z. B. "Winvideo", "Gige", "Gentl"). Die Zahl nach dem Adapter (z. B. `1`) wählt ein bestimmtes Gerät aus, wenn mehrere vorhanden sind.
2. Die Image -Erfassungs -Toolbox installieren: Wenn Sie es nicht haben, müssen Sie es möglicherweise Ihrer Matlab -Installation hinzufügen.
Methode 2:Verwenden von `VideoInput` (einfacher, weniger vielseitig)
Diese Funktion ist eine höhere Wrapper um `IMAQ`. Es ist einfacher, für die grundlegende Webcam-Capture zu verwenden, bietet jedoch eine weniger feinkörnige Kontrolle.
`` `matlab
vid =VideoInput ('Winvideo', 1); % Ersetzen 1 bei Bedarf durch die entsprechende Geräte -ID
set (VID, 'Framesspertrigger', 1);
set (vid, 'Triggerrepeat', Inf);
Vorschau (VID); % Start Vorschau
% Erfassen Frames (Beispiel:10 Frames erfassen)
für i =1:10
IMG =GETNAPSHOT (VID);
IMshow (IMG);
Pause (0,1); % Kleine Pause, um die Bilder zu sehen
Ende
Stopp (vid);
löschen (vid);
klares Video;
`` `
Wichtige Überlegungen:
* Fehlerbehandlung: Dem obigen Code fehlt die Fehlerbehandlung. In einer Produktionsumgebung sollten Sie "Try-Catch" -Tblöcke hinzufügen, um potenzielle Fehler zu behandeln (z. B. nicht gefundene Geräte, Verbindungsprobleme).
* Bildrate: Sie können die Bildrate mithilfe von Eigenschaften wie `vid.frameSpertrigger` und` vid.triggerrepeat` steuern. Setzen Sie für die kontinuierliche Erfassung "Framesspertrigger" auf einen höheren Wert oder "INF`" und passen Sie die Schleife entsprechend ein.
* Auflösung: Die Auflösung des erfassten Videos hängt von Ihrer Kamera ab und kann mit Eigenschaften wie "vid.videoresolution" angepasst werden.
* Dateisparen: Um das erfasste Video zu speichern, müssen Sie Funktionen wie "Imwrite" verwenden, um einzelne Frames als Bilder zu speichern (z. B. in einer Abfolge von JPGs oder PNGs) oder ein Videoautor -Objekt ("Videowriter" zu verwenden, um eine Videodatei (z. B. AVI, MP4) zu erstellen.
Denken Sie daran, "Winvideo" zu ersetzen, 1 "durch den entsprechenden Adapter- und Geräte -ID für Ihr spezifisches Setup. Wenden Sie sich immer an die MATLAB -Dokumentation für die Funktion "IMAQ` Toolbox und" VideoInput "für detaillierte Informationen und erweiterte Optionen.