λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Ψηφιακό λογισμικό βίντεο

Κωδικός για τη λήψη βίντεο στο MATLAB;

Το Matlab προσφέρει διάφορους τρόπους για να συλλάβετε βίντεο, ανάλογα με τις ανάγκες σας και το υλικό που χρησιμοποιείτε. Ακολουθούν παραδείγματα που χρησιμοποιούν το εργαλείο `imaq` (για περισσότερους ελέγχους και διάφορες συσκευές) και τη λειτουργία` videoInput` (απλούστερη, αλλά ενδεχομένως λιγότερο ευέλικτη).

Μέθοδος 1:Χρησιμοποιώντας το `imaq` toolbox (συνιστάται για τις περισσότερες περιπτώσεις)

Αυτή η μέθοδος παρέχει μεγαλύτερη ευελιξία και έλεγχο στη διαδικασία απόκτησης, επιτρέποντάς σας να συνεργαστείτε με διάφορες πηγές βίντεο (κάμερες, κάρτες σύλληψης κ.λπ.). Θα χρειαστείτε την εργαλειοθήκη απόκτησης εικόνων.

`` `Matlab

% Αντικαταστήστε το 'WinVideo' με τον κατάλληλο προσαρμογέα για τη συσκευή σας.

% Χρησιμοποιήστε το IMAQHWINFO για να απαριθμήσετε τους διαθέσιμους προσαρμογείς και συσκευές.

vid =videoInput ('winVideo', 1); % 1 αντιπροσωπεύει συνήθως την πρώτη κάμερα

% Ρυθμίστε τις ιδιότητες (ρυθμίστε αυτές τις ανάγκες)

set (vid, 'framespertrigger', 1); % Συλλάβει ένα πλαίσιο κάθε φορά

set (vid, 'triggerrepeat', inf); % Συμπλήρωση συνεχώς

set (vid, 'returncolorspace', 'rgb'); % Λάβετε εικόνες RGB

% Ξεκινήστε την απόκτηση βίντεο

Έναρξη (vid);

% Πλαίσια σύλληψης (παράδειγμα:σύλληψη για 10 δευτερόλεπτα)

σύσπαση;

ενώ toc <10

[Πλαίσιο, χρόνος, ~] =getData (vid, 1); % Αποκτήστε ένα πλαίσιο

imshow (πλαίσιο); % Εμφάνιση του πλαισίου

τίτλος (sprintf ('Ώρα:%.2f δευτερόλεπτα', χρόνος));

drawnow; % Ενημέρωση της οθόνης

τέλος

% Σταματήστε την απόκτηση βίντεο

σταματήστε (vid);

διαγραφή (vid);

καθαρή vid;

`` `

Πριν εκτελέσετε αυτό:

1. Ελέγξτε τον προσαρμογέα σας: Εκτελέστε `imaqhwinfo` στο παράθυρο εντολών για να δείτε ποιες συσκευές εισόδου βίντεο είναι διαθέσιμες στο σύστημά σας. Αυτό θα σας πει τη σωστή συμβολοσειρά προσαρμογέα που θα χρησιμοποιήσετε (π.χ., 'Winvideo', 'Gige', 'Gentl'). Ο αριθμός μετά τον προσαρμογέα (π.χ. `1`) επιλέγει μια συγκεκριμένη συσκευή εάν υπάρχει πολλαπλή.

2. Εγκαταστήστε το εργαλείο απόκτησης εικόνας: Εάν δεν το έχετε, ίσως χρειαστεί να το προσθέσετε στην εγκατάσταση MATLAB.

Μέθοδος 2:Χρήση `videoInput` (απλούστερο, λιγότερο ευέλικτο)

Αυτή η λειτουργία είναι ένα περιτύλιγμα υψηλότερου επιπέδου γύρω από το `imaq`. Είναι ευκολότερο στη χρήση για τη βασική καταγραφή κάμερας, αλλά προσφέρει λιγότερο λεπτό έλεγχο.

`` `Matlab

vid =videoInput ('winVideo', 1); % Αντικαταστήστε 1 με το κατάλληλο αναγνωριστικό συσκευής εάν είναι απαραίτητο

set (vid, 'framespertrigger', 1);

set (vid, 'triggerrepeat', inf);

προεπισκόπηση (vid); % Έναρξη προεπισκόπησης

% Πλαίσια σύλληψης (Παράδειγμα:λήψη 10 καρέ)

για i =1:10

img =getSnapShot (vid);

imshow (IMG);

παύση (0,1); % Μικρή παύση για να δείτε τις εικόνες

τέλος

σταματήστε (vid);

διαγραφή (vid);

καθαρή vid;

`` `

Σημαντικές εκτιμήσεις:

* Χειρισμός σφαλμάτων: Ο παραπάνω κώδικας δεν διαθέτει χειρισμό σφαλμάτων. Σε ένα περιβάλλον παραγωγής, θα πρέπει να προσθέσετε μπλοκ `try-catch` για να χειριστείτε πιθανά σφάλματα (π.χ., η συσκευή δεν βρέθηκε, προβλήματα σύνδεσης).

* Ποσοστό καρέ: Μπορείτε να ελέγξετε τον ρυθμό καρέ χρησιμοποιώντας ιδιότητες όπως `vid.framespertrigger` και` vid.triggerRepeat '. Για συνεχή σύλληψη, ρυθμίστε το `framespertrigger` σε υψηλότερη τιμή ή` inf` και προσαρμόστε τον βρόχο ανάλογα.

* Ανάλυση: Η επίλυση του τραυματισμένου βίντεο εξαρτάται από την κάμερά σας και μπορεί να ρυθμιστεί χρησιμοποιώντας ιδιότητες όπως το `vid.videoresolution '.

* Αποθήκευση αρχείων: Για να αποθηκεύσετε το βιντεοσκοπημένο βίντεο, θα χρειαστεί να χρησιμοποιήσετε λειτουργίες όπως το `imwrite` για να αποθηκεύσετε μεμονωμένα πλαίσια ως εικόνες (π.χ. σε μια ακολουθία JPGS ή PNGs) ή να χρησιμοποιήσετε ένα αντικείμενο συγγραφέα βίντεο (` VideowRiter ') για να δημιουργήσετε ένα αρχείο βίντεο (π.χ. AVI, MP4).

Θυμηθείτε να αντικαταστήσετε το `'Winvideo', 1 'με τον κατάλληλο αναγνωριστικό προσαρμογέα και συσκευής για τη συγκεκριμένη ρύθμιση. Συμβουλευτείτε πάντα την τεκμηρίωση MATLAB για τη λειτουργία "IMAQ` Toolbox και" VideoInput` για λεπτομερείς πληροφορίες και προχωρημένες επιλογές.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα