Metodo 1:utilizzando la casella degli strumenti `iMAQ` (consigliata per la maggior parte dei casi)
Questo metodo fornisce maggiore flessibilità e controllo sul processo di acquisizione, consentendo di lavorare con varie fonti video (webcam, schede di acquisizione, ecc.). Avrai bisogno della cassetta degli strumenti di acquisizione di immagini.
`` `Matlab
% Sostituisci "Winvideo" con l'adattatore appropriato per il dispositivo.
% Utilizzare iMaqhwinfo per elencare adattatori e dispositivi disponibili.
vid =videoInput ('winvideo', 1); % 1 di solito rappresenta la prima fotocamera
% Imposta proprietà (regolale se necessario)
set (vid, 'framespertrigger', 1); % Catturare un frame alla volta
set (video, 'triggerrepeat', inf); % Cattura continuamente
set (vid, 'returnColorspace', 'rgb'); % Ottieni immagini RGB
% Avvia l'acquisizione video
avvio (video);
% Frame di acquisizione (esempio:cattura per 10 secondi)
tic;
mentre TOC <10
[frame, time, ~] =getData (vid, 1); % Ottieni un frame
imshow (frame); % Visualizza il frame
titolo (sprintf ('time:%.2f seconds', time));
disegnare; % Aggiorna il display
FINE
% Interrompere l'acquisizione video
stop (video);
eliminare (video);
Vid chiaro;
`` `
Prima di eseguire questo:
1. Controlla il tuo adattatore: Esegui `imaqhwinfo` nella finestra di comando per vedere quali dispositivi di input video sono disponibili sul sistema. Questo ti dirà la corretta stringa dell'adattatore da usare (ad esempio, 'Winvideo', 'gige', 'Gentl'). Il numero dopo l'adattatore (ad es. `1`) seleziona un dispositivo specifico se sono presenti più.
2. Installa la cassetta degli strumenti di acquisizione dell'immagine: Se non lo hai, potrebbe essere necessario aggiungerlo alla tua installazione di Matlab.
Metodo 2:usando `videoInput` (più semplice, meno versatile)
Questa funzione è un involucro di livello superiore intorno a `Imaq`. È più facile da usare per l'acquisizione di webcam di base ma offre un controllo meno a grana fine.
`` `Matlab
vid =videoInput ('winvideo', 1); % Sostituire 1 con l'ID dispositivo appropriato, se necessario
set (vid, 'framespertrigger', 1);
set (video, 'triggerrepeat', inf);
anteprima (video); % Inizia Anteprima
% Frame di acquisizione (esempio:cattura 10 frame)
per i =1:10
img =getSnapShot (video);
imshow (IMG);
pausa (0,1); % Piccola pausa per vedere le immagini
FINE
stop (video);
eliminare (video);
Vid chiaro;
`` `
Considerazioni importanti:
* Gestione degli errori: Il codice sopra manca di gestione degli errori. In un ambiente di produzione, è necessario aggiungere blocchi `Try-Catch 'per gestire potenziali errori (ad esempio, dispositivo non trovato, problemi di connessione).
* Frame rate: È possibile controllare la frequenza dei frame usando proprietà come `vid.framespertrigger` e` vid.triggerrepeat`. Per l'acquisizione continua, impostare `FramesperTrigger` su un valore più elevato o` inf` e regolare il ciclo di conseguenza.
* Risoluzione: La risoluzione del video catturato dipende dalla fotocamera e può essere regolata utilizzando proprietà come `vid.videoresolution`.
* Salvataggio del file: Per salvare il video acquisito, dovrai utilizzare funzioni come `imwrite` per salvare singoli frame come immagini (ad esempio, in una sequenza di jpg o png) o utilizzare un oggetto video writer (` videOwriter`) per creare un file video (ad es. AVI, MP4).
Ricorda di sostituire `'Winvideo', 1` con l'adattatore e l'ID dispositivo appropriato per la tua configurazione specifica. Consultare sempre la documentazione MATLAB per la casella degli strumenti `IMAQ` e la funzione` VideoInput 'per informazioni dettagliate e opzioni avanzate.
software © www.354353.com