Dans OpenCV, vous pouvez utiliser la fonction cv2.reateTrackbar() pour créer une barre de suivi. Pour accéder à la valeur de la position sélectionnée de la trackbar, nous utilisons la fonction cv2.getTrackbarPos().
À l'aide de ces deux fonctions, nous créons une fenêtre contenant une barre de suivi pour les couleurs R, G, B et une fenêtre de couleur pour afficher la couleur sélectionnée. En changeant la position de la barre de suivi, la couleur RGB change entre 0 et 255. Voir la syntaxe de ces deux fonctions ci-dessous.
cv2.createTrackbar(trackbar_name, window_name, default_value, max_value, callback_func) cv2.getTrackbarPos(trackbar_name, window_name)
trackbar_name - Ceci est le nom de la barre de suivi. Ce nom est utilisé pour accéder à la valeur de position de la barre de suivi.
window_name - C'est le nom de la fenêtre à laquelle la barre de suivi est attachée.
default_value - La valeur par défaut définie pour la barre de suivi.
max_value - La valeur maximale de la barre de suivi.
callback_func - Fonction exécutée lorsque la valeur de la barre de suivi change.
Pour créer une barre de suivi Palette RVB, vous pouvez suivre les étapes ci-dessous -
La première étape consiste à importer les bibliothèques requises. Les bibliothèques Python requises sont OpenCV et NumPy. Assurez-vous de les avoir installés.
import cv2 import numpy as np
Ensuite, définissez une fonction de rappel. Il prend la position de la barre de suivi comme paramètre par défaut. Nous définissons cette fonction pour ne rien faire.
def nothing(x): pass
Définissez l'image noire et créez une fenêtre appelée Trackbar Color Palette. La barre de suivi et les couleurs apparaîtront dans cette fenêtre.
img = np.zeros((300,650,3), np.uint8) window_name = 'Trackbar Color Palette' cv2.namedWindow(window_name, cv2.WINDOW_AUTOSIZE)
Créez une barre de suivi pour les changements de couleur avec les cinq paramètres. Les valeurs de la barre de suivi vont de 0 à 255.
cv2.createTrackbar('R',window_name,0,255,nothing) cv2.createTrackbar('G',window_name,0,255,nothing) cv2.createTrackbar('B',window_name,0,255,nothing)
Obtenez la position actuelle de la barre de suivi pour les trois couleurs RVB .
r = cv2.getTrackbarPos('R',window_name) g = cv2.getTrackbarPos('G',window_name) b = cv2.getTrackbarPos('B',window_name)
Fenêtre d'image couleur mise à jour avec les couleurs ci-dessus.
img[:] = [b,g,r]
Affiche maintenant la couleur de la valeur de la barre de piste sélectionnée dans la fenêtre de couleur.
while(True): cv2.imshow(window_name,img) k = cv2.waitKey(1) & 0xFF if k == ord('q'): break
Dans le programme Python ci-dessous, nous créons une fenêtre sous forme de palette. Nous avons créé trois barres de suivi pour les couleurs R, V et B. Faites glisser le curseur pour afficher la couleur correspondante dans la fenêtre des couleurs.
# import required libraries import cv2 import numpy as np def nothing(x): pass # Create a black image, and the window img = np.zeros((300,650,3), np.uint8) window_name = 'Trackbar Color Palette' cv2.namedWindow(window_name, cv2.WINDOW_AUTOSIZE) # create trackbars for color change cv2.createTrackbar('R',window_name,0,255,nothing) cv2.createTrackbar('G',window_name,0,255,nothing) cv2.createTrackbar('B',window_name,0,255,nothing) while(True): cv2.imshow(window_name,img) k = cv2.waitKey(1) & 0xFF if k == ord('q'): break # get current positions of four trackbars r = cv2.getTrackbarPos('R',window_name) g = cv2.getTrackbarPos('G',window_name) b = cv2.getTrackbarPos('B',window_name) img[:] = [b,g,r] cv2.destroyAllWindows()
Lorsque vous exécutez le programme ci-dessus, vous verrez la fenêtre Output suivante. Pour fermer la fenêtre de sortie, appuyez sur le bouton "q".
La valeur par défaut des trois barres de suivi est zéro et la couleur de la fenêtre est noire. Faites glisser le curseur pour voir la couleur correspondante dans la fenêtre de couleur.
Dans ce programme, nous créons une fenêtre sous forme de palette avec un bouton toggle.
Nous avons créé quatre barres de suivi, trois pour les couleurs R, G, B et une pour le bouton toggle.
Lorsque le bouton switch est ON, seules les couleurs de la fenêtre de couleur sont affichées. Faites glisser le curseur et la couleur correspondante sera affichée dans la fenêtre de couleur.
import cv2 import numpy as np def nothing(x): pass # Create a black image, a window img = np.zeros((300,650,3), np.uint8) window_name = 'Trackbar Color Palette' cv2.namedWindow(window_name, cv2.WINDOW_AUTOSIZE) # create trackbars for color change cv2.createTrackbar('R',window_name,0,255,nothing) cv2.createTrackbar('G',window_name,0,255,nothing) cv2.createTrackbar('B',window_name,0,255,nothing) # create switch for ON/OFF functionality # switch = '0 : OFF \n1 : ON' cv2.createTrackbar("switch", window_name,0,1,nothing) while(True): cv2.imshow(window_name,img) key = cv2.waitKey(1) & 0xFF if key == ord('q'): break # get current positions of four trackbars r = cv2.getTrackbarPos('R',window_name) g = cv2.getTrackbarPos('G',window_name) b = cv2.getTrackbarPos('B',window_name) s = cv2.getTrackbarPos("switch",window_name) if s == 0: img[:] = 0 else: img[:] = [b,g,r] cv2.destroyAllWindows()
Lorsque vous exécutez le programme ci-dessus, il affichera la fenêtre de sortie suivante. Pour fermer la fenêtre output, appuyez sur le bouton "q".
La valeur par défaut de toutes les barres de piste est 0. La couleur des fenêtres est noire. Lorsque vous allumez l'interrupteur (sélectionnez 1) et faites glisser le curseur de couleur RGB sur la valeur souhaitée, la fenêtre de couleur affichera la couleur correspondante.
Si vous faites glisser le curseur lorsque l'interrupteur est éteint (réglé sur 0), la couleur de la fenêtre ne changera pas. Il restera tel quel (c'est-à-dire noir).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!