I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

Gli esseri umani possono distinguere circa 10 milioni di colori. Per percepirli, hai bisogno di qualcosa noto come una tavolozza di colori. Una tavolozza di colori contiene gli strumenti per visualizzare l'intera gamma di colori visibili all'occhio umano. Nel mondo reale, li usi per creare disegni estetici su carta mentre digitalmente li usi per aggiungere colore agli elementi dello schermo.

In definitiva, il tuo computer codifica tutte le diverse sfumature che vedi sullo schermo utilizzando un formato particolare. Con Python, puoi sviluppare una tavolozza di colori con codifica RGB in poche righe di codice grazie a OpenCV e al modulo NumPy.

Il modulo OpenCV e NumPy

Puoi analizzare immagini e video utilizzando OpenCV. È gratuito, open source, semplice da usare e ricco di librerie utili. Questi forniscono tecniche per classificare, localizzare e tracciare oggetti sia a due che a tre dimensioni. Per installare OpenCV nel tuo ambiente, apri un terminale ed esegui:

instagram viewer

pip installa opencv-python

Il modulo NumPy è un'altra libreria popolare che vedrai utilizzare da molti programmi Python. NumPy, Python numerico, è un modulo che puoi utilizzare per l'analisi dei dati e il calcolo scientifico. Fornisce anche oggetti array n-dimensionali operazioni matematiche che aiutano nella manipolazione di questi array.

Per installare NumPy nel tuo ambiente, esegui:

pip installa numpy

In genere, utilizzerai OpenCV per elaborare le immagini utilizzando tecniche come il rilevamento dei bordi. È quindi possibile utilizzare NumPy per eseguire l'analisi dei dati sull'immagine elaborata. Usando questa combinazione puoi creare e decodificare un codice QR, classificare le immagini, eseguire il riconoscimento ottico dei caratteri e costruire sistemi di videosorveglianza in grado di rilevare il movimento e tracciare le persone in tempo reale.

Come costruire una tavolozza di colori usando Python

Segui questi passaggi per creare una tavolozza dei colori utilizzando il modulo OpenCV e NumPy in Python.

Puoi trovare la fonte di Color Palette Using Python in questo Git Hub deposito.

Inizia importando i moduli OpenCV e NumPy. Definire una funzione denominata funzionevuota() che contiene l'istruzione pass. L'istruzione pass funge da segnaposto per il codice che puoi scrivere in futuro. Ciò è particolarmente utile con funzioni come createTrackbar, che utilizzerai in seguito. Richiede una funzione di callback valida e per ora puoi passare emptyFunction come segnaposto.

importare cv2
importare intorpidito COME np

deffunzione vuota():
passaggio

Genera un array tridimensionale di dimensioni 512 * 512 * 3 con un tipo di dati di uint8 utilizzando NumPy zero() funzione. Ogni matrice sarà composta da 512 colonne e 512 righe. uint8 rappresenta un numero intero senza segno, quindi il programma riempie l'array con zeri.

immagine = np.zeros((512, 512, 3), np.uint8)

Imposta il nome della finestra che il programma visualizzerà e passalo al file chiamatoWindow() funzione per creare una finestra:

nomefinestra = "Tavolozza colori OpenCV"
cv2.namedWindow (windowName)

Successivamente, genera tre barre di traccia per i componenti di colore rosso, verde e blu. Puoi farlo usando OpenCV createTrackbar() funzione. In primo luogo, passa l'etichetta come rosso, blu o verde. In secondo luogo, è necessario passare il nome della finestra in cui si desidera posizionare queste barre, ad esempio windowName.

Il terzo parametro è il limite minimo della track bar, 0 in questo caso. Il quarto parametro specifica il valore massimo, che è 255 per un valore di colore a 24 bit. Il quinto e ultimo parametro è una funzione di callback per la quale createTrackbar richiede una funzione valida. Questo è il motivo per cui hai creato emptyFunction in precedenza, per fungere da segnaposto.

cv2.createTrackbar('Blu', nomefinestra, 0, 255, funzione vuota)
cv2.createTrackbar('Verde', nomefinestra, 0, 255, funzione vuota)
cv2.createTrackbar('Rosso', nomefinestra, 0, 255, funzione vuota)

Dichiara un ciclo while infinito e passa il nome della finestra insieme all'immagine che desideri visualizzare a OpenCV imshow() funzione. Poiché l'immagine contiene una matrice tridimensionale di zeri, inizialmente il programma visualizza una schermata nera.

Controlla se l'utente ha premuto il tasto Esc testando il valore from tasto attesa() contro 27 (il codice ASCII per il tasto Escape). La funzione waitkey() visualizza la finestra per il dato numero di millisecondi o finché non si preme un tasto. Passandone uno come input, visualizza la finestra per un millisecondo ma si rigenera a causa del ciclo while infinito.

Per ottenere la posizione corrente della barra della traccia, passare il nome della barra della traccia insieme al nome della finestra a getTrackbarPos(). Ripeti questo passaggio per i tre componenti di colore separati, blu, verde e rosso. Utilizzare l'operatore slice per assegnare i tre valori all'array di immagini. Questo sostituirà il precedente set di valori, inizialmente tutti zeri, con i valori correnti in base alle posizioni della barra della traccia.

Mentre (VERO):
cv2.imshow (nomefinestra, immagine)

Se cv2.waitKey(1) == 27:
rottura

blu = cv2.getTrackbarPos('Blu', nomefinestra)
verde = cv2.getTrackbarPos('Verde', nomefinestra)
rosso = cv2.getTrackbarPos('Rosso', nomefinestra)
immagine[:] = [blu, verde, rosso]
stampa (blu, verde, rosso)

Una volta che l'utente preme il tasto Esc, usa distruggiTutteWindows() per chiudere le finestre aperte dal programma:

cv2.destroyAllWindows()

Infine, metti tutto insieme ed eseguilo per controllare e visualizzare la tavolozza dei colori.

L'output del programma della tavolozza dei colori Python

Durante l'esecuzione del programma sopra, viene visualizzata una finestra che contiene tre barre di traccia per i colori blu, verde e rosso. Le barre delle tracce si spostano da un intervallo compreso tra 0 e 255. Quando modifichi i valori delle diverse barre, dovresti vedere diverse sfumature di colori nella sezione sottostante.

In questo primo esempio, puoi vedere l'impostazione della barra blu come 0, verde come 69 e rossa come 255. Il colore di output risultante è una sfumatura di arancione/rosso. Inoltre, la finestra del terminale visualizza i valori del colore come 0 69 255.

Allo stesso modo, impostando la barra Blu a 130, Verde a 0 e Rosso a 75, otterrai un colore Indaco.

Le varie applicazioni di OpenCV

OpenCV offre preziose funzioni per attività come l'elaborazione delle immagini, il riconoscimento di oggetti, il riconoscimento facciale e il tracciamento. Usando OpenCV puoi produrre applicazioni di visione artificiale in tempo reale che sarebbero un vantaggio in aree come la robotica, l'automazione industriale, l'imaging medico e i sistemi di sorveglianza.

Il futuro della visione artificiale è promettente. Sarai in grado di utilizzare la visione artificiale per aiutare i non vedenti, ottenere una migliore crescita in agricoltura, migliorare la sicurezza stradale utilizzando auto a guida autonoma e persino navigare su altri pianeti, come Marte.