Sommario:
- Passaggio 1: i file di intestazione
- Passaggio 2: acquisizione del video
- Passaggio 3: acquisizione della cornice e definizione del colore
- Passaggio 4: mascheratura ed estrazione
- Passaggio 5: finalmente visualizzato
- Passaggio 6: dimostrazione
Video: Rilevamento semplice del colore utilizzando OpenCV: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Ciao! Oggi mostrerò un metodo semplice per rilevare un colore da un video live utilizzando OpenCV e Python.
Fondamentalmente proverò solo che il colore richiesto sia presente o meno nella cornice di sfondo e utilizzando i moduli OpenCV maschererò quella regione e contemporaneamente visualizzerò la cornice.
Passaggio 1: i file di intestazione
Ora qui ho usato due file di intestazione e cioè cv2 e NumPy. Fondamentalmente cv2 è la libreria OpenCV che carica tutti i file c++ che sono importanti durante l'utilizzo dei comandi nei codici (contiene tutte le definizioni).
E Numpy è una libreria Python essenziale per memorizzare un array multidimensionale. Useremo per memorizzare le nostre coordinate della gamma di colori.
E numpy as np aiuta fondamentalmente il nostro codice ad abbreviare un po' usando np ogni volta invece di numpy.
Passaggio 2: acquisizione del video
Questo è abbastanza semplice durante l'utilizzo di Python. Qui dobbiamo solo accendere il videoregistratore in modo che possa iniziare a registrare i fotogrammi.
Ora il valore all'interno di VideoCapture indica la fotocamera, nel mio caso la fotocamera è collegata al mio laptop, quindi 0.
Puoi andare in modo simile a 1 per la fotocamera secondaria e così via. VideoCapture crea l'oggetto per esso.
Passaggio 3: acquisizione della cornice e definizione del colore
Ora qui dobbiamo fare qualcosa in modo da poter catturare il fotogramma istantaneo del video che ci aiuterà a estrarre l'immagine e possiamo lavorarci secondo i requisiti.
Il ciclo "while" ci aiuterà a eseguire il ciclo fino al tempo richiesto. Ora " _, frame = cap.read() " viene utilizzato per verificare la validità del Frame catturato e memorizzarlo. "cap.read() è una variabile booleana e restituisce true se il frame viene letto correttamente e se non ottieni frame non mostrerà alcun errore, otterrai semplicemente None.
Ora la riga 11 e la riga 12 definiscono sostanzialmente la gamma di colori che dobbiamo rilevare. Per questo, ho usato il colore blu.
Puoi procedere con qualsiasi colore di cui hai bisogno per digitare semplicemente i valori BGR per quel particolare colore. È meglio definire due array usando array numpy poiché rilevare un particolare colore nel mondo reale non servirà al nostro scopo, piuttosto definiremo un intervallo di colore blu in modo che rilevi all'interno dell'intervallo.
Per questo, ho definito due variabili che memorizzano i valori BGR inferiori e i valori BGR superiori.
Passaggio 4: mascheratura ed estrazione
Ora arriva il compito principale di mascherare la cornice ed estrarre il colore della cornice. Ho usato i comandi predefiniti presenti nella libreria in OpenCV per fare il mascheramento. Fondamentalmente il mascheramento è il processo di rimozione di una parte del fotogramma, ovvero rimuoveremo i pixel il cui colore BGR ha valori che non si trovano nell'intervallo di colori definito e questo viene fatto da cv2.inRange. Successivamente, applichiamo l'intervallo di colori all'immagine mascherata in base ai valori dei pixel e per questo utilizzeremo cv2.bitwise_and, Assegna semplicemente i colori alla regione mascherata a seconda della maschera e dei valori dell'intervallo di colori.
Link per cv2. bitwise_and:
Passaggio 5: finalmente visualizzato
Qui ho usato il cv2.imshow() di base per la visualizzazione di ogni fotogramma come immagine. Poiché ho i dati del frame memorizzati nelle variabili, posso recuperarli in imshow(). Qui ho visualizzato tutte e tre le cornici, originali, mascherate e colorate.
Ora dobbiamo uscire dal ciclo while. Per questo, possiamo semplicemente implementare cv2.wait. Key(). Fondamentalmente indica il tempo di attesa prima di rispondere. Quindi, se passi 0, aspetterà all'infinito e 0xFF dice che l'architettura è a 64 bit. " ord() " specifica il carattere che se premuto eseguirà il comando break nel blocco if e uscirà dal ciclo.
Quindi cap.release() chiude il videoregistratore e cv2.destroyAllWindows() chiude tutte le finestre aperte.
Se hai qualche problema, per favore fammi sapere.
Link al codice sorgente:
Consigliato:
Tutorial: come utilizzare il sensore di rilevamento del colore RGB TCS230 con Arduino UNO: 3 passaggi
Tutorial: come utilizzare il sensore di rilevamento colore RGB TCS230 con Arduino UNO: Descrizione: questo tutorial ti mostrerà alcuni semplici passaggi su come utilizzare il sensore di rilevamento colore RGB utilizzando Arduino Uno. Alla fine di questo tutorial, otterrai una serie di risultati di confronto tra pochi colori. Il TCS3200 è una det
Macchina per la verniciatura a rilevamento del colore: 4 passaggi
Macchina per la verniciatura a rilevamento del colore: la macchina per la verniciatura a rilevamento del colore copia i colori intorno a te e ti consente di disegnare con loro. Se hai la vernice dei colori primari, puoi utilizzare il sensore di colore RGB per rilevare il colore desiderato e mescolarlo. Ma ricorda, usa l'oggetto dai colori brillanti
Rilevamento del colore in Python utilizzando OpenCV: 8 passaggi
Rilevamento del colore in Python utilizzando OpenCV: Hello! Questo istruibile viene utilizzato per guidare su come estrarre un colore specifico da un'immagine in Python usando la libreria openCV. Se sei nuovo a questa tecnica allora non preoccuparti, alla fine di questa guida sarai in grado di programmare il tuo colore personale
Robot di Halloween con rilevamento del volto e rilevamento del sorriso: 8 passaggi (con immagini)
Monitoraggio del viso e rilevamento del sorriso Robot di Halloween: Halloween sta arrivando! Abbiamo deciso di costruire qualcosa di interessante. Incontra i robot Ghosty e Skully. Possono seguire il tuo viso e sanno quando sorridi per ridere con te! Questo progetto è un altro esempio dell'utilizzo dell'app iRobbie che converte l'iPhone in
Un modo davvero semplice/facile/non complicato per far sembrare che persone/umani/animali/robot abbiano una visione del calore davvero fresca/brillante (colore a scelta) utilizzando GIMP: 4 passaggi
Un modo davvero semplice/facile/non complicato per far sembrare persone/umani/animali/robot come se avessero una visione del calore davvero fresca/brillante (colore a scelta) usando GIMP: Leggi…il…titolo