Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Οι άνθρωποι μπορούν να διακρίνουν περίπου 10 εκατομμύρια χρώματα. Για να τα αντιληφθείτε, χρειάζεστε κάτι γνωστό ως χρωματική παλέτα. Μια χρωματική παλέτα περιέχει τα εργαλεία για την εμφάνιση της πλήρους γκάμα χρωμάτων που είναι ορατή στο ανθρώπινο μάτι. Στον πραγματικό κόσμο, τα χρησιμοποιείτε για να δημιουργήσετε αισθητικά σχέδια σε χαρτί, ενώ ψηφιακά τα χρησιμοποιείτε για να προσθέσετε χρώμα στα στοιχεία της οθόνης.

Τελικά, ο υπολογιστής σας κωδικοποιεί όλες τις διαφορετικές αποχρώσεις που βλέπετε στην οθόνη σας χρησιμοποιώντας μια συγκεκριμένη μορφή. Με την Python, μπορείτε να αναπτύξετε μια παλέτα χρωμάτων με κωδικοποίηση RGB σε λίγες μόνο γραμμές κώδικα χάρη στη μονάδα OpenCV και NumPy.

Η ενότητα OpenCV και NumPy

Μπορείτε να αναλύσετε εικόνες και βίντεο χρησιμοποιώντας το OpenCV. Είναι δωρεάν, ανοιχτού κώδικα, απλό στη χρήση και γεμάτο με χρήσιμες βιβλιοθήκες. Αυτά παρέχουν τεχνικές για την ταξινόμηση, τον εντοπισμό και την παρακολούθηση αντικειμένων τόσο σε δύο όσο και σε τρεις διαστάσεις. Για να εγκαταστήσετε το OpenCV στο περιβάλλον σας, ανοίξτε ένα τερματικό και εκτελέστε:

instagram viewer

pip εγκατάσταση opencv-python

Η ενότητα NumPy είναι μια άλλη δημοφιλής βιβλιοθήκη που θα δείτε να χρησιμοποιούν πολλά προγράμματα Python. Το NumPy—numerical Python—είναι μια ενότητα που μπορείτε να χρησιμοποιήσετε για ανάλυση δεδομένων και επιστημονικούς υπολογισμούς. Παρέχει n-διάστατα αντικείμενα πίνακα καθώς και μαθηματικές πράξεις που βοηθούν στον χειρισμό αυτών των συστοιχιών.

Για να εγκαταστήσετε το NumPy στο περιβάλλον σας, εκτελέστε:

pip εγκατάσταση numpy

Γενικά, θα χρησιμοποιήσετε το OpenCV για την επεξεργασία εικόνων χρησιμοποιώντας τεχνικές όπως η ανίχνευση άκρων. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το NumPy για να εκτελέσετε ανάλυση δεδομένων στην επεξεργασμένη εικόνα. Χρησιμοποιώντας αυτόν τον συνδυασμό μπορείτε δημιουργήστε και αποκωδικοποιήστε έναν κωδικό QR, ταξινομούν εικόνες, πραγματοποιούν οπτική αναγνώριση χαρακτήρων και κατασκευάζουν συστήματα παρακολούθησης βίντεο που μπορούν να ανιχνεύουν κίνηση και να παρακολουθούν άτομα σε πραγματικό χρόνο.

Πώς να δημιουργήσετε μια παλέτα χρωμάτων χρησιμοποιώντας Python

Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε μια παλέτα χρωμάτων χρησιμοποιώντας τη λειτουργική μονάδα OpenCV και NumPy στην Python.

Μπορείτε να βρείτε την πηγή της παλέτας χρωμάτων χρησιμοποιώντας Python σε αυτό GitHub αποθήκη.

Ξεκινήστε εισάγοντας τις λειτουργικές μονάδες OpenCV και NumPy. Ορίστε μια συνάρτηση με όνομα κενή συνάρτηση() που περιέχει τη δήλωση pass. Η δήλωση pass λειτουργεί ως σύμβολο κράτησης θέσης για τον κώδικα που μπορείτε να γράψετε στο μέλλον. Αυτό είναι ιδιαίτερα χρήσιμο με λειτουργίες όπως το createTrackbar, τις οποίες θα χρησιμοποιήσετε αργότερα. Απαιτεί μια έγκυρη συνάρτηση επανάκλησης και μπορείτε να μεταβιβάσετε τη λειτουργία whiteFunction ως σύμβολο κράτησης θέσης προς το παρόν.

εισαγωγή cv2
εισαγωγή μουδιασμένος όπως και np

defκενή συνάρτηση():
πέρασμα

Δημιουργήστε έναν τρισδιάστατο πίνακα μεγέθους 512 * 512 * 3 με τύπο δεδομένων uint8 χρησιμοποιώντας το NumPy μηδέν() λειτουργία. Κάθε πίνακας θα αποτελείται από 512 στήλες και 512 σειρές. uint8 αντιπροσωπεύει έναν ανυπόγραφο ακέραιο αριθμό, οπότε το πρόγραμμα γεμίζει τον πίνακα με μηδενικά.

εικόνα = np.zeros((512, 512, 3), np.uint8)

Ορίστε το όνομα του παραθύρου που θα εμφανίσει το πρόγραμμα και μεταβιβάστε το στο namedWindow() λειτουργία για τη δημιουργία παραθύρου:

Όνομα παραθύρου = "OpenCV Color Palette"
cv2.namedWindow (Όνομα παραθύρου)

Στη συνέχεια, δημιουργήστε τρεις γραμμές κομματιού για τα στοιχεία του κόκκινου, του πράσινου και του μπλε χρώματος. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας το OpenCV's createTrackbar() λειτουργία. Πρώτα, περάστε την ετικέτα ως Κόκκινο, Μπλε ή Πράσινο. Δεύτερον, πρέπει να μεταβιβάσετε το όνομα του παραθύρου όπου θέλετε να τοποθετήσετε αυτές τις γραμμές, παράδειγμα, windowName.

Η τρίτη παράμετρος είναι το ελάχιστο όριο της γραμμής κομματιού, 0 σε αυτήν την περίπτωση. Η τέταρτη παράμετρος καθορίζει τη μέγιστη τιμή, η οποία είναι 255 για μια τιμή χρώματος 24 bit. Η πέμπτη και τελευταία παράμετρος είναι μια συνάρτηση επανάκλησης για την οποία το createTrackbar απαιτεί μια έγκυρη συνάρτηση. Αυτός είναι ο λόγος για τον οποίο δημιουργήσατε νωρίτερα την άδειαΣυνάρτηση, για να λειτουργεί ως σύμβολο κράτησης θέσης.

cv2.createTrackbar('Μπλε', Όνομα παραθύρου, 0, 255, κενή συνάρτηση)
cv2.createTrackbar('Πράσινος', Όνομα παραθύρου, 0, 255, κενή συνάρτηση)
cv2.createTrackbar('Το κόκκινο', Όνομα παραθύρου, 0, 255, κενή συνάρτηση)

Δηλώστε έναν άπειρο βρόχο while και περάστε το όνομα του παραθύρου μαζί με την εικόνα που θέλετε να εμφανίσετε στο OpenCV's imshow() λειτουργία. Καθώς η εικόνα περιέχει έναν τρισδιάστατο πίνακα μηδενικών, το πρόγραμμα εμφανίζει αρχικά μια μαύρη οθόνη.

Ελέγξτε εάν ο χρήστης έχει πατήσει το πλήκτρο διαφυγής δοκιμάζοντας την τιμή από πλήκτρο αναμονής () έναντι 27 (ο κωδικός ASCII για το κλειδί Escape). Η συνάρτηση waitkey() εμφανίζει το παράθυρο για τον δεδομένο αριθμό χιλιοστών του δευτερολέπτου ή μέχρι να πατήσετε ένα πλήκτρο. Περνώντας ένα ως είσοδο, εμφανίζει το παράθυρο για ένα χιλιοστό του δευτερολέπτου αλλά αναγεννάται λόγω του βρόχου άπειρου while.

Για να λάβετε την τρέχουσα θέση της γραμμής κομματιού, περάστε το όνομα της γραμμής κομματιού μαζί με το όνομα του παραθύρου getTrackbarPos(). Επαναλάβετε αυτό το βήμα για τα τρία ξεχωριστά στοιχεία χρώματος, μπλε, πράσινο και κόκκινο. Χρησιμοποιήστε τον τελεστή slice για να αντιστοιχίσετε τις τρεις τιμές στον πίνακα εικόνων. Αυτό θα αντικαταστήσει το προηγούμενο σύνολο τιμών, αρχικά όλα τα μηδενικά, με τις τρέχουσες τιμές σύμφωνα με τις θέσεις της γραμμής κομματιού.

ενώ (Αληθής):
cv2.imshow (Όνομα παραθύρου, εικόνα)

αν cv2.waitKey(1) == 27:
Διακοπή

μπλε = cv2.getTrackbarPos('Μπλε', Όνομα παραθύρου)
πράσινο = cv2.getTrackbarPos('Πράσινος', Όνομα παραθύρου)
κόκκινο = cv2.getTrackbarPos('Το κόκκινο', Όνομα παραθύρου)
εικόνα[:] = [μπλε, πράσινο, κόκκινο]
εκτύπωση (μπλε, πράσινο, κόκκινο)

Μόλις ο χρήστης πατήσει το πλήκτρο Escape, χρησιμοποιήστε το καταστρέψει όλα τα Windows() για να κλείσετε τα παράθυρα άνοιξε το πρόγραμμα:

cv2.destroyAllWindows()

Τέλος, συνδυάστε τα όλα μαζί και εκτελέστε το για να ελέγξετε και να δείτε την παλέτα χρωμάτων σας.

Η έξοδος του προγράμματος Python Color Palette

Κατά την εκτέλεση του παραπάνω προγράμματος, εμφανίζεται ένα παράθυρο που περιέχει τρεις γραμμές κομματιού για τα χρώματα Μπλε, Πράσινο και Κόκκινο. Οι ράβδοι κομματιού κινούνται από 0 έως 255. Όταν μεταβάλλετε τις τιμές των διαφορετικών ράβδων, θα πρέπει να δείτε διαφορετικές αποχρώσεις χρωμάτων στην παρακάτω ενότητα.

Σε αυτό το πρώτο παράδειγμα, μπορείτε να δείτε τη ρύθμιση της Μπλε γραμμής ως 0, της Πράσινης ως 69 και της Κόκκινης ως 255. Το προκύπτον χρώμα εξόδου είναι μια απόχρωση του πορτοκαλί/κόκκινου. Επιπλέον, το παράθυρο τερματικού εμφανίζει τις τιμές χρώματος ως 0 69 255.

Ομοίως, όταν ορίσετε τη Μπλε γραμμή ως 130, την Πράσινη ως 0 και την Κόκκινη ως 75, θα λάβετε ένα χρώμα Indigo.

Οι διάφορες εφαρμογές του OpenCV

Το OpenCV προσφέρει πολύτιμες λειτουργίες για εργασίες όπως η επεξεργασία εικόνας, η αναγνώριση αντικειμένων, η αναγνώριση προσώπου και η παρακολούθηση. Χρησιμοποιώντας το OpenCV μπορείτε να παράγετε εφαρμογές όρασης υπολογιστή σε πραγματικό χρόνο που θα ήταν ευλογία σε τομείς όπως η ρομποτική, ο βιομηχανικός αυτοματισμός, η ιατρική απεικόνιση και τα συστήματα επιτήρησης.

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