- 1. Επεξεργασία εικόνας χρησιμοποιώντας το παράθυρο επεξεργασίας MATLAB
- 2. Επεξεργασία εικόνων με MATLAB GUI
- Δημιουργία γραφικού περιβάλλοντος χρήστη MATLAB για επεξεργασία εικόνων
- Κωδικός MATLAB GUI για επεξεργασία εικόνων
- Εκτελέστε τον κώδικα MATLAB GUI για επεξεργασία εικόνων
Φανταστείτε να τοποθετείτε την κάμερα σε κάποιο αντικείμενο και η κάμερα σας λέει το όνομα αυτού του αντικειμένου, ναι, το Google Lens σε έξυπνα τηλέφωνα Android κάνει το ίδιο πράγμα χρησιμοποιώντας την Επεξεργασία Εικόνας. Αυτό δίνει στον υπολογιστή ένα όραμα για τον εντοπισμό και την αναγνώριση των πραγμάτων και τη λήψη αναλόγων ενεργειών. Η επεξεργασία εικόνων έχει πολλές εφαρμογές όπως ανίχνευση και αναγνώριση προσώπου, εντύπωση αντίχειρα, επαυξημένη πραγματικότητα, OCR, σάρωση γραμμωτού κώδικα και πολλές άλλες. Υπάρχουν πολλά λογισμικά διαθέσιμα για επεξεργασία εικόνας, μεταξύ των οποίων το MATLAB είναι το πιο κατάλληλο για αρχή.
Το MATLAB μπορεί να εκτελέσει πολλές διαδικασίες επεξεργασίας εικόνας εκ των προτέρων, αλλά για να ξεκινήσετε με την επεξεργασία εικόνας στο MATLAB, εδώ θα εξηγήσουμε μερικές βασικές λειτουργίες όπως RGB σε Gray, περιστροφή της εικόνας, δυαδική μετατροπή κ.λπ. Μπορείτε να κάνετε περαιτέρω αυτοματοποιημένα προγράμματα για την αφαίρεση θορύβου, την εικόνα σαφήνεια, φιλτράρισμα χρησιμοποιώντας τις λειτουργίες που εξηγούνται σε αυτό το σεμινάριο.
Πριν προχωρήσετε περαιτέρω, εάν είστε νέοι στο MATLAB, μπορείτε να ελέγξετε τα προηγούμενα μαθήματα MATLAB για καλύτερη κατανόηση:
- Ξεκινώντας με το MATLAB: Μια γρήγορη εισαγωγή
- Διασύνδεση Arduino με MATLAB - LED που αναβοσβήνει
- Έλεγχος κινητήρα DC με χρήση MATLAB και Arduino
- Stepper Motor Control χρησιμοποιώντας MATLAB και Arduino
- Πώς να σχεδιάσετε το γράφημα θερμοκρασίας πραγματικού χρόνου χρησιμοποιώντας το MATLAB
Στο MATLAB, όπως πάντα, υπάρχουν δύο τρόποι εκτέλεσης οποιουδήποτε αλγορίθμου επεξεργασίας εικόνων, ένας με την άμεση εισαγωγή της εντολής στο παράθυρο επεξεργασίας / εντολών και άλλος με τη δημιουργία ενός GUI για το ίδιο. Εδώ, θα σας δείξουμε και τις δύο μεθόδους για την εκτέλεση βασικών λειτουργιών επεξεργασίας εικόνας στο MATLAB.
1. Επεξεργασία εικόνας χρησιμοποιώντας το παράθυρο επεξεργασίας MATLAB
Τώρα, θα γράψουμε τον κώδικα για την εκτέλεση ορισμένων βασικών λειτουργιών επεξεργασίας εικόνας στο παράθυρο του προγράμματος επεξεργασίας. Για να εξοικειωθείτε με όλες τις βασικές ορολογίες που χρησιμοποιούνται στο MATLAB ακολουθήστε τον σύνδεσμο. Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο παράθυρο του προγράμματος επεξεργασίας, a = imread ('F: \ circuit digest \ επεξεργασία εικόνας χρησιμοποιώντας matlab \ camerman.jpg'); υποπεριοχή (2,3,1) · imshow (α); b = rgb2gray (α); υποπεριοχή (2,3,2); imshow (b); c = im2bw (α); υποπεριοχή (2,3,3); imshow (γ); d = imadjust (b); υποπεριοχή (2,3,4); imshow (δ); ε = α; e = rgb2gray (e); υποπεριοχή (2,3,5) · ιμίστ (ε); imfinfo ('F: \ circuit digest \ επεξεργασία εικόνας χρησιμοποιώντας matlab \ beard-man.jpg') = μέγεθος (α) % colormap ('spring')
Στη μεταβλητή «a», εισάγουμε εικόνα χρησιμοποιώντας την εντολή imread («όνομα αρχείου») και μετά κάνουμε μια γραφική παράσταση της στήλης «2» και της στήλης «3» χρησιμοποιώντας την υποπεριοχή (γραμμή, στήλη, θέση) και εμφανίζουμε την εισαγόμενη εικόνα στη θέση 1 '. Για να δείξουμε την εικόνα χρησιμοποιούμε την εντολή imshow («όνομα αρχείου») .
Ακολουθούν μερικές εντολές για να εκτελέσετε κάποια βασική επεξεργασία σε μεταφορτωμένη εικόνα:
- Στη μεταβλητή «b», μετατρέπουμε την εικόνα RGB σε εικόνα έντασης κλίμακας του γκρι χρησιμοποιώντας την εντολή rgb2gray («όνομα αρχείου») και την εμφανίζουμε σε γραφική παράσταση στη θέση «2».
- Στη μεταβλητή «c», μετατρέπουμε την εικόνα σε δυαδική εικόνα ή μπορείτε να πείτε σε μορφή «0» (μαύρο) και «1» (λευκό) χρησιμοποιώντας την εντολή im2bw («όνομα αρχείου») και εμφανίζοντάς την σε γραφική παράσταση θέση «3».
- Στη μεταβλητή «d», προσαρμόζουμε ή αντιστοιχίζουμε τις τιμές έντασης εικόνας σε κλίμακα του γκρι χρησιμοποιώντας την εντολή imadjust («όνομα αρχείου») και την εμφανίζουμε σε γραφική παράσταση στη θέση «4».
- Στη μεταβλητή «e», σχεδιάζουμε το ιστόγραμμα της εικόνας κλίμακας του γκρι χρησιμοποιώντας την εντολή imhist («όνομα αρχείου») και την εμφανίζουμε σε γραφική παράσταση στη θέση «5». Για να σχεδιάσετε το ιστόγραμμα πρέπει πάντα να μετατρέψετε την εικόνα σε κλίμακα του γκρι και στη συνέχεια θα μπορείτε να δείτε το ιστόγραμμα αυτού του αρχείου γραφικών.
- Η εντολή Imfinfo («όνομα αρχείου με τοποθεσία») χρησιμοποιείται για την εμφάνιση πληροφοριών σχετικά με το αρχείο γραφικών.
- Η εντολή = size («όνομα αρχείου») χρησιμοποιείται για την εμφάνιση των επιπέδων μεγέθους και χρώματος ενός συγκεκριμένου αρχείου γραφικών.
- Το colormap ('spring') χρησιμοποιείται για την αλλαγή του τύπου colormap του αρχείου γραφικών. Εδώ, στον κωδικό μου ορίζω αυτήν την εντολή ως σχόλιο, αλλά μπορείτε να τη χρησιμοποιήσετε αφαιρώντας το σύμβολο ποσοστού. Υπάρχουν πολλοί τύποι χρωμάτων στο MATLAB όπως Jet, HSV, Hot, Cool, Summer, Autumn, Winter, Grey, Bone, Copper, Pink, Lines και spring.
Όπως αυτές, υπάρχουν πολλές εντολές στο MATLAB που μπορούν να χρησιμοποιηθούν για την εκτέλεση διαφορετικών εργασιών, μπορείτε να ελέγξετε τις λειτουργίες επεξεργασίας εικόνας στο MATLAB ακολουθώντας τον σύνδεσμο.
2. Επεξεργασία εικόνων με MATLAB GUI
Δημιουργία γραφικού περιβάλλοντος χρήστη MATLAB για επεξεργασία εικόνων
Για τη δημιουργία ενός GUI (Γραφικό περιβάλλον εργασίας χρήστη) για επεξεργασία εικόνων, ξεκινήστε το GUI πληκτρολογώντας την παρακάτω εντολή στο παράθυρο εντολών .
οδηγός
Θα ανοίξει ένα αναδυόμενο παράθυρο και, στη συνέχεια, επιλέξτε νέο κενό GUI όπως φαίνεται στην παρακάτω εικόνα,
Τώρα πρέπει να επιλέξουμε τον αριθμό των πλήκτρων (κάθε κουμπί θα εκτελεί διαφορετική εργασία) και έναν άξονα για την εμφάνιση της εικόνας.
Για να αλλάξετε το μέγεθος ή να αλλάξετε το σχήμα του κουμπιού ή των αξόνων, απλώς κάντε κλικ πάνω του και θα μπορείτε να σύρετε τις γωνίες του κουμπιού. Κάνοντας διπλό κλικ σε οποιοδήποτε από αυτά θα μπορείτε να αλλάξετε το χρώμα, τη συμβολοσειρά, την ετικέτα και άλλες επιλογές αυτού του συγκεκριμένου κουμπιού. Μετά την προσαρμογή θα μοιάζει με αυτό
Μπορείτε να προσαρμόσετε τα κουμπιά σύμφωνα με την επιλογή σας. Τώρα όταν το αποθηκεύετε, δημιουργείται ένας κώδικας στο παράθυρο του προγράμματος επεξεργασίας του MATLAB. Επεξεργαστείτε τον δημιουργημένο κώδικα για να ορίσετε την εργασία για διαφορετικά κουμπιά. Παρακάτω έχουμε επεξεργαστεί τον κωδικό MATLAB.
Κωδικός MATLAB GUI για επεξεργασία εικόνων
Ο πλήρης κωδικός MATLAB για την Επεξεργασία Εικόνας χρησιμοποιώντας το MATLAB GUI, δίνεται στο τέλος αυτού του έργου. Περαιτέρω συμπεριλαμβάνουμε εδώ το αρχείο GUI (.fig) και το αρχείο κώδικα (.m) για λήψη, χρησιμοποιώντας τα οποία μπορείτε να προσαρμόσετε τα κουμπιά ή το μέγεθος των αξόνων σύμφωνα με τις απαιτήσεις σας. Έχουμε επεξεργαστεί τον παραγόμενο κώδικα όπως εξηγείται παρακάτω.
Στη λειτουργία «uploadimage» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να εισαγάγετε το αρχείο από τον υπολογιστή. Εδώ, η εντολή uigetfile («τύπος επέκτασης εικόνας») χρησιμοποιείται για την εισαγωγή εικόνας στο GUI MATLAB. Διαβάστε αυτό το αρχείο χρησιμοποιώντας την εντολή imread () και μετά εμφανίστε το με την εντολή imshow () στους axes1 χρησιμοποιώντας axes (handles.axes1) . Τώρα, με την εντολή setappdata (), αποθηκεύστε τη μεταβλητή στο GUI έτσι ώστε η μεταβλητή να είναι προσβάσιμη σε ένα μέρος του GUI στο άλλο μέρος του GUI.
a = uigetfile ('. jpg') a = imread (α); άξονες (λαβές. άξονες1); imshow (α); setappdata (0, 'a', a)
Τώρα, σε κάθε λειτουργία θα δείτε την εντολή getappdata () που χρησιμοποιείται για την ανάκτηση δεδομένων που αποθηκεύονται χρησιμοποιώντας το setappdata () στο GUI.
Εδώ θα εξηγήσουμε οκτώ κοινές λειτουργίες στην επεξεργασία εικόνας
Σ. Όχι. |
Εντολή |
Όνομα κουμπιού |
Εργασία προς εκτέλεση |
1. |
uigetfile () |
Μεταφόρτωση εικόνας |
Κάντε κλικ για εισαγωγή εικόνας από το δίσκο |
2. |
rgb2gray () |
RGB σε γκρι |
Κάντε κλικ για να μετατρέψετε την εικόνα RGB σε κλίμακα του γκρι |
3. |
im2bw () |
Μετατροπή σε δυαδική εικόνα |
Κάντε κλικ για να μετατρέψετε την εικόνα σε δυαδική |
4. |
- |
ΕΠΑΝΑΦΟΡΑ |
Κάντε κλικ για να επαναφέρετε την εικόνα ως πρωτότυπη |
5. |
ιμίστ () |
Ιστόγραμμα |
Κάντε κλικ για να δείτε το ιστόγραμμα της εικόνας |
6. |
ατελές () |
Συμπληρωματική εικόνα |
Κάντε κλικ για να ελέγξετε τη συμπληρωματική εικόνα |
7. |
άκρη (όνομα αρχείου, μέθοδος) |
Ανίχνευση άκρων |
Κάντε κλικ για να εντοπίσετε τις άκρες της εικόνας |
8. |
imrotate (όνομα αρχείου, γωνία) |
Γυρίστε με την φορά του ρολογιού |
Κάντε κλικ για να περιστρέψετε την εικόνα προς τα δεξιά |
9. |
imrotate (όνομα αρχείου, γωνία) |
Περιστρέψτε αριστερόστροφα |
Κάντε κλικ για περιστροφή της εικόνας στην αριστερόστροφη κατεύθυνση |
1. Μετατρέψτε την εικόνα RGB σε κλίμακα του γκρι
Στη λειτουργία «rgb2gray» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να μετατρέψετε την εικόνα RGB σε κλίμακα του γκρι χρησιμοποιώντας την εντολή rgb2gray () .
a = getappdata (0, 'a'); agray = rgb2gray (α); άξονες (λαβές. άξονες1); imshow (agray);
2. Μετατροπή σε δυαδική εικόνα
Στη συνάρτηση «im2bw» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να μετατρέψετε την εικόνα σε δυαδική εικόνα ή μπορείτε να πείτε σε μορφή «0» (μαύρο) και «1» (λευκό) χρησιμοποιώντας την εντολή im2bw () .
a = getappdata (0, 'a'); abw = im2bw (α); άξονες (λαβές. άξονες1); imshow (abw);
3. Επαναφορά στην αρχική εικόνα
Στη λειτουργία "επαναφορά" , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να επαναφέρετε την επεξεργασμένη εικόνα στην αρχική εικόνα.
a = getappdata (0, 'a'); άξονες (λαβές. άξονες1); imshow (α);
4. Σχεδιάστε το ιστόγραμμα εικόνων
Στη λειτουργία «ιστόγραμμα» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να σχεδιάσετε το ιστόγραμμα της εικόνας κλίμακας του γκρι χρησιμοποιώντας την εντολή imhist («όνομα αρχείου») και εμφανίστε το στους άξονες1 . Για να σχεδιάσετε το ιστόγραμμα πρέπει πάντα να μετατρέψετε την εικόνα σε κλίμακα του γκρι και στη συνέχεια θα μπορείτε να δείτε το ιστόγραμμα αυτού του αρχείου γραφικών.
a = getappdata (0, 'a'); ahist = α; ahist = rgb2gray (ahist); άξονες (λαβές. άξονες1); ιχίστ (αχίστ);
5. Μετατροπή σε συμπλήρωμα εικόνας
Στη συνάρτηση «συμπληρωματική εικόνα » , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να δείτε το συμπλήρωμα του αρχείου γραφικών που έχει εισαχθεί χρησιμοποιώντας την εντολή imcomplement () .
a = getappdata (0, 'a'); acomp = α; acomp = imcomplement (acomp); άξονες (λαβές. άξονες1); imshow (acomp);
6. Ανίχνευση άκρων χρησιμοποιώντας τη μέθοδο Canny
Στη συνάρτηση «edge» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να εντοπίσετε και να βρείτε άκρα στην εικόνα σε κλίμακα του γκρι χρησιμοποιώντας το edge edge («όνομα αρχείου», «μέθοδος») . Στη θέση της μεθόδου μπορείτε να επιλέξετε ανάμεσα σε αυτά τα τρία, Canny, Prewitt και μοντάζ . Χρησιμοποιούμε τη μέθοδο Canny για ανίχνευση άκρων. Επίσης, δεν μπορείτε να εντοπίσετε το άκρο απευθείας από την αρχική εικόνα, πρώτα πρέπει να το μετατρέψετε σε κλίμακα του γκρι και μετά να μπορείτε να εντοπίσετε τις άκρες.
a = getappdata (0, 'a'); aedge = α; aedge = rgb2gray (aedge); aedge = edge (aedge , 'Canny') ' άξονες (handles.axes1); imshow (aedge);
7. Περιστρέψτε την εικόνα δεξιόστροφα
Στη λειτουργία «δεξιόστροφα» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να περιστρέψετε την εικόνα προς τη φορά των δεικτών του ρολογιού χρησιμοποιώντας την εντολή imrotate (όνομα αρχείου, «γωνία»)
a = getappdata (0, 'a'); aclock = α; aclock = imrotate (aclock, 270); άξονες (λαβές. άξονες1); imshow (aclock);
8. Περιστρέψτε την εικόνα αριστερόστροφα
Στη λειτουργία «αριστερόστροφα» , αντιγράψτε και επικολλήστε τον παρακάτω κώδικα για να περιστρέψετε την εικόνα προς την αριστερόστροφη κατεύθυνση χρησιμοποιώντας την εντολή imrotate (όνομα αρχείου, «γωνία»)
a = getappdata (0, 'a'); aclock = α; aclock = imrotate (aclock, 90); άξονες (λαβές. άξονες1); imshow (aclock);
Εκτελέστε τον κώδικα MATLAB GUI για επεξεργασία εικόνων
Τώρα, κάντε κλικ στο κουμπί "RUN" για να εκτελέσετε τον επεξεργασμένο κώδικα στο αρχείο.m
Το MATLAB μπορεί να διαρκέσει λίγα δευτερόλεπτα για να απαντήσει, μην κάνετε κλικ σε κανένα κουμπί GUI έως ότου το MATLAB εμφανίσει μήνυμα απασχολημένου στην κάτω αριστερή γωνία όπως φαίνεται παρακάτω,
Όταν όλα είναι έτοιμα, εισαγάγετε την εικόνα από τον υπολογιστή κάνοντας κλικ στο κουμπί «Μεταφόρτωση εικόνας». Τώρα, θα μπορείτε να μετατρέψετε ή να περιστρέψετε την εικόνα κάνοντας κλικ σε οποιοδήποτε κουμπί ανάλογα. Στον παρακάτω πίνακα θα δείτε την εργασία που εκτελούμε με το πάτημα ενός συγκεκριμένου κουμπιού:
Το αποτέλεσμα στο κλικ κάθε κουμπιού θα δείξει παρακάτω,
Η πλήρης εργασία κάθε κουμπιού φαίνεται στο παρακάτω βίντεο.
Μπορείτε ακόμη και να κάνετε προχωρημένο επίπεδο επεξεργασίας εικόνας με το Εργαλείο επεξεργασίας εικόνων που μπορείτε να αγοράσετε από τον επίσημο ιστότοπο MATHWORKS, μερικές από τις λειτουργίες επιπέδου εκ των προτέρων παρατίθενται παρακάτω:
- Γεωμετρικές λειτουργίες
- Αποκλεισμός λειτουργιών
- Γραμμικό φιλτράρισμα και σχεδιασμός φίλτρων
- Μεταμορφώσεις
- Ανάλυση και βελτίωση εικόνας
- Δυαδικές λειτουργίες εικόνας