Les humains peuvent distinguer environ 10 millions de couleurs. Pour les percevoir, vous avez besoin de quelque chose appelé une palette de couleurs. Une palette de couleurs contient les outils permettant d'afficher la gamme complète de couleurs visibles à l'œil humain. Dans le monde réel, vous les utilisez pour créer des conceptions esthétiques sur papier tandis que vous les utilisez numériquement pour ajouter de la couleur aux éléments de l'écran.
En fin de compte, votre ordinateur encode toutes les différentes nuances que vous voyez sur votre écran en utilisant un format particulier. Avec Python, vous pouvez développer une palette de couleurs encodée RVB en quelques lignes de code grâce aux modules OpenCV et NumPy.
Le module OpenCV et NumPy
Vous pouvez analyser des images et des vidéos à l'aide d'OpenCV. Il est gratuit, open source, simple à utiliser et regorge de bibliothèques utiles. Ceux-ci fournissent des techniques pour classer, localiser et suivre des objets en deux et trois dimensions. Pour installer OpenCV dans votre environnement, ouvrez un terminal et exécutez :
pip installer opencv-python
Le module NumPy est une autre bibliothèque populaire que vous verrez de nombreux programmes Python utiliser. NumPy—Python numérique—est un module que vous pouvez utiliser pour l'analyse de données et le calcul scientifique. Il fournit des objets de tableau à n dimensions ainsi que opérations mathématiques qui aident à la manipulation de ces tableaux.
Pour installer NumPy dans votre environnement, exécutez :
pip installer numpy
En règle générale, vous utiliserez OpenCV pour traiter les images à l'aide de techniques telles que la détection des bords. Vous pouvez ensuite utiliser NumPy pour effectuer une analyse de données sur l'image traitée. Grâce à cette combinaison, vous pouvez créer et décoder un code QR, classer les images, effectuer la reconnaissance optique des caractères et construire des systèmes de vidéosurveillance capables de détecter les mouvements et de suivre les individus en temps réel.
Comment construire une palette de couleurs en utilisant Python
Suivez ces étapes pour créer une palette de couleurs à l'aide du module OpenCV et NumPy en Python.
Vous pouvez trouver la source de la palette de couleurs en utilisant Python dans ce GitHub dépôt.
Commencez par importer les modules OpenCV et NumPy. Définir une fonction nommée fonctionvide() qui contient l'instruction pass. L'instruction pass agit comme un espace réservé pour le code que vous pourrez écrire ultérieurement. Ceci est particulièrement utile avec des fonctions comme createTrackbar, que vous utiliserez plus tard. Il nécessite une fonction de rappel valide et vous pouvez passer emptyFunction comme espace réservé pour le moment.
importer cv2
importer numpy comme np
définitivementfonctionvide():
passer
Générer un tableau tridimensionnel de taille 512 * 512 * 3 avec un type de données uint8 à l'aide de NumPy zéro() fonction. Chaque tableau sera composé de 512 colonnes et 512 lignes. uint8 représente un nombre entier non signé, donc le programme remplit le tableau avec des zéros.
image = np. zéros ((512, 512, 3), np.uint8)
Définissez le nom de la fenêtre que le programme affichera et transmettez-le au fenêtrenommée() fonction pour créer une fenêtre :
NomFenêtre = "Palette de couleurs OpenCV"
cv2.namedWindow (nomFenêtre)
Ensuite, générez trois barres de piste pour les composants de couleur rouge, vert et bleu. Vous pouvez le faire en utilisant OpenCV createTrackbar() fonction. Tout d'abord, passez l'étiquette en rouge, bleu ou vert. Dans un second temps, vous devez passer le nom de la fenêtre où vous souhaitez placer ces barres par exemple, windowName.
Le troisième paramètre est la limite minimale de la barre de piste, 0 dans ce cas. Le quatrième paramètre spécifie la valeur maximale, qui est de 255 pour une valeur de couleur 24 bits. Le cinquième et dernier paramètre est une fonction de rappel pour laquelle createTrackbar nécessite une fonction valide. C'est pourquoi vous avez créé emptyFunction plus tôt, pour agir comme un espace réservé.
cv2.createTrackbar('Bleu', NomFenêtre, 0, 255, fonctionvide)
cv2.createTrackbar('Vert', NomFenêtre, 0, 255, fonctionvide)
cv2.createTrackbar('Rouge', NomFenêtre, 0, 255, fonctionvide)
Déclarez une boucle while infinie et transmettez le nom de la fenêtre avec l'image que vous souhaitez afficher à OpenCV imshow() fonction. Comme l'image contient un tableau tridimensionnel de zéros, le programme affiche initialement un écran noir.
Vérifiez si l'utilisateur a appuyé sur la touche d'échappement en testant la valeur de waitkey() contre 27 (le code ASCII de la touche Escape). La fonction waitkey() affiche la fenêtre pendant le nombre de millisecondes donné ou jusqu'à ce que vous appuyiez sur une touche. En passant un en entrée, il affiche la fenêtre pendant une milliseconde mais se régénère en raison de la boucle while infinie.
Pour obtenir la position actuelle de la barre de suivi, transmettez le nom de la barre de suivi avec le nom de la fenêtre à getTrackbarPos(). Répétez cette étape pour les trois composants de couleur distincts, bleu, vert et rouge. Utilisez l'opérateur slice pour affecter les trois valeurs au tableau d'images. Cela remplacera l'ensemble de valeurs précédent, initialement tous des zéros, par les valeurs actuelles en fonction des positions de la barre de piste.
alors que (Vrai):
cv2.imshow (nomFenêtre, image)si cv2.waitKey(1) == 27:
casser
bleu = cv2.getTrackbarPos('Bleu', nomFenêtre)
vert = cv2.getTrackbarPos('Vert', nomFenêtre)
rouge = cv2.getTrackbarPos('Rouge', nomFenêtre)
image[:] = [bleu, vert, rouge]
imprimé (bleu, vert, rouge)
Une fois que l'utilisateur appuie sur la touche Échap, utilisez destroyAllWindows() pour fermer les fenêtres ouvertes par le programme :
cv2.destroyAllWindows()
Enfin, assemblez le tout et exécutez-le pour contrôler et afficher votre palette de couleurs.
La sortie du programme de palette de couleurs Python
Lors de l'exécution du programme ci-dessus, une fenêtre apparaît contenant trois barres de suivi pour les couleurs Bleu, Vert et Rouge. Les barres de piste se déplacent dans une plage de 0 à 255. Lorsque vous faites varier les valeurs des différentes barres, vous devriez voir différentes nuances de couleurs dans la section ci-dessous.
Dans ce premier exemple, vous pouvez voir le réglage de la barre bleue sur 0, verte sur 69 et rouge sur 255. La couleur de sortie résultante est une nuance d'orange/rouge. De plus, la fenêtre du terminal affiche les valeurs de couleur sous la forme 0 69 255.
De même, lorsque vous définissez la barre bleue sur 130, le vert sur 0 et le rouge sur 75, vous obtiendrez une couleur indigo.
Les différentes applications d'OpenCV
OpenCV offre des fonctions précieuses pour des tâches telles que le traitement d'images, la reconnaissance d'objets, la reconnaissance faciale et le suivi. En utilisant OpenCV, vous pouvez produire des applications de vision par ordinateur en temps réel qui seraient une aubaine dans des domaines tels que la robotique, l'automatisation industrielle, l'imagerie médicale et les systèmes de surveillance.
L'avenir de la vision par ordinateur est prometteur. Vous pourrez utiliser la vision par ordinateur pour aider les malvoyants, améliorer la croissance de l'agriculture, améliorer la sécurité routière à l'aide de voitures autonomes et même naviguer sur d'autres planètes, comme Mars.