Μέθοδος 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` για λεπτομερείς πληροφορίες και προχωρημένες επιλογές.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα