Table des matières:
- Étape 1: Les fichiers d'en-tête
- Étape 2: Capturer la vidéo
- Étape 3: Capturer le cadre et définir la couleur
- Étape 4: Masquage et extraction
- Étape 5: enfin afficher
- Étape 6: Démo
Vidéo: Détection simple des couleurs à l'aide d'OpenCV : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Salut! Aujourd'hui, je vais montrer une méthode simple pour détecter une couleur à partir d'une vidéo en direct à l'aide d'OpenCV et de python.
Fondamentalement, je vais simplement tester que la couleur requise est présente ou non dans le cadre d'arrière-plan et à l'aide des modules OpenCV, je vais masquer cette région et afficher simultanément le cadre.
Étape 1: Les fichiers d'en-tête
Maintenant, j'ai utilisé deux fichiers d'en-tête, à savoir cv2 et NumPy. Fondamentalement, cv2 est la bibliothèque OpenCV qui charge tous les fichiers c++ importants tout en utilisant les commandes dans les codes (elle contient toutes les définitions).
Et Numpy est une bibliothèque python essentielle pour stocker un tableau multidimensionnel. Nous utiliserons pour stocker nos coordonnées de gamme de couleurs.
Et numpy as np aide essentiellement notre code à raccourcir un peu en utilisant np à chaque fois au lieu de numpy.
Étape 2: Capturer la vidéo
C'est assez simple en utilisant python. Ici, nous avons juste besoin d'allumer l'enregistreur vidéo pour qu'il puisse commencer à enregistrer les images.
Maintenant, la valeur à l'intérieur de VideoCapture indique la caméra, dans mon cas la caméra est connectée à mon ordinateur portable, donc 0.
Vous pouvez aller de la même manière à 1 pour la caméra secondaire et ainsi de suite. VideoCapture crée l'objet correspondant.
Étape 3: Capturer le cadre et définir la couleur
Maintenant, ici, nous devons faire quelque chose pour pouvoir capturer l'image instantanée de la vidéo qui nous aidera à extraire l'image et nous pouvons travailler là-dessus selon les besoins.
La boucle "while" nous aidera à exécuter la boucle jusqu'à notre temps requis. Maintenant " _, frame = cap.read() " est utilisé pour vérifier la validité de la Frame capturée et la stocker. "cap.read() est une variable booléenne et renvoie true si le cadre est lu correctement et si vous n'obtenez aucun cadre, il n'affichera aucune erreur, vous obtiendrez simplement Aucun.
Maintenant, les lignes 11 et 12 définissent essentiellement la gamme de couleurs que nous devons détecter. Pour cela, j'ai utilisé la couleur bleue.
Vous pouvez continuer avec n'importe quelle couleur pour laquelle vous devez simplement taper les valeurs BGR pour cette couleur particulière. Il est préférable de définir deux tableaux à l'aide de tableaux numpy car la détection d'une couleur particulière dans le monde réel ne servira pas notre objectif. Nous définirons plutôt une plage de couleur bleue afin qu'elle détecte dans la plage.
Pour cela, j'ai défini deux variables stockant les valeurs BGR inférieures et les valeurs BGR supérieures.
Étape 4: Masquage et extraction
Maintenant, voici la tâche principale de masquer le cadre et d'extraire la couleur du cadre. J'ai utilisé les commandes prédéfinies présentes dans la bibliothèque d'OpenCV pour faire le masquage. Fondamentalement, le masquage est le processus de suppression d'une partie du cadre, c'est-à-dire que nous supprimerons les pixels dont les valeurs BGR de couleur ne se situent pas dans la plage de couleurs définie et cela est fait par cv2.inRange. Ensuite, nous appliquons la gamme de couleurs à l'image masquée en fonction des valeurs de pixels et pour cela, nous utiliserons cv2.bitwise_and, Il affectera simplement les couleurs à la région masquée en fonction des valeurs de masque et de gamme de couleurs.
Lien pour cv2. bitwise_and:
Étape 5: enfin afficher
Ici, j'ai utilisé le cv2.imshow() de base pour afficher chaque image sous forme d'image. Comme j'ai les données de trame stockées dans des variables, je peux les récupérer dans imshow(). Ici, j'ai affiché les trois cadres, originaux, masqués et colorés.
Maintenant, nous devons quitter la boucle while. Pour cela, nous pouvons simplement implémenter le cv2.wait. Key(). Fondamentalement, il indique le temps d'attente avant de répondre. Donc, si vous passez 0, il attendra indéfiniment et 0xFF indique que l'architecture est en 64 bits. " ord() " spécifie le caractère qui, lorsqu'il est pressé, exécutera la commande break dans le bloc if et il sortira de la boucle.
Ensuite, cap.release() ferme le magnétoscope et cv2.destroyAllWindows() ferme toutes les fenêtres ouvertes.
Si vous avez un problème, s'il vous plaît laissez-moi savoir.
Lien vers le code source:
Conseillé:
Traitement d'image avec le Raspberry Pi : Installation d'OpenCV et séparation des couleurs d'image : 4 étapes
Traitement d'image avec le Raspberry Pi : Installation d'OpenCV et de la séparation des couleurs d'image : Cet article est le premier de plusieurs tutoriels de traitement d'image à suivre. Nous regardons de plus près les pixels qui composent une image, apprenons à installer OpenCV sur le Raspberry Pi et nous écrivons également des scripts de test pour capturer une image et aussi c
Détection des couleurs en Python à l'aide d'OpenCV : 8 étapes
Détection des couleurs en Python à l'aide d'OpenCV : Bonjour ! Cette instructable est utilisée pour expliquer comment extraire une couleur spécifique d'une image en python à l'aide de la bibliothèque openCV. Si vous débutez dans cette technique, ne vous inquiétez pas, à la fin de ce guide, vous pourrez programmer votre propre couleur
Robot de suivi des couleurs basé sur une roue omnidirectionnelle et OpenCV : 6 étapes
Robot de suivi des couleurs basé sur une roue omnidirectionnelle et OpenCV : j'utilise un châssis de roue omnidirectionnel pour implémenter mon suivi des couleurs, et j'utilise un logiciel mobile appelé OpenCVBot. Merci aux développeurs de logiciels ici, merci. OpenCV Bot détecte ou suit en fait tout objet en temps réel via le traitement d'image
Changer les couleurs des LED à l'aide d'un POT et d'ATTINY85 : 3 étapes
Changer les couleurs des LED à l'aide d'un POT et d'ATTINY85 : Dans ce projet, nous utilisons un potentiomètre (POT) pour changer les couleurs d'une LED à l'aide d'un ATTINY85. Quelques définitions - Un potentiomètre est un appareil doté d'un petit mécanisme à vis/tournant qui, lorsqu'il est tourné, produit différentes résistances électriques. Vous pouvez
Détection des couleurs à l'aide de LED RVB : 4 étapes
Détection des couleurs à l'aide de LED RVB : Avez-vous déjà voulu un moyen automatisé de détecter la couleur d'un objet ? En projetant une lumière d'une certaine couleur sur l'objet et en regardant la quantité de lumière réfléchie, vous pouvez savoir de quelle couleur est l'objet. Par exemple, si vous allumez un feu rouge o