En este artículo, cubriremos cómo configurar TrackbarMax() python en OpenCV .
Un elemento de la GUI que permite al usuario seleccionar un valor específico dentro de un rango de valores deslizando un control deslizante linealmente se conoce como barra de seguimiento. Este elemento es similar al desplazamiento pero permite al usuario seleccionar un valor específico con sus límites mínimo y máximo. En este artículo, discutiremos cómo establecer la posición máxima de la barra de seguimiento. El valor máximo de la barra de seguimiento se puede lograr usando la función setTrackbarMax(). Esta función establece la posición máxima de la barra de seguimiento especificada en la ventana especificada después de crear la barra de seguimiento.
Sintaxis: cv.setTrackbarMax(trackbarname, winname, maxval)
Parámetros:
- trackbarname: Nombre de la barra de seguimiento
- winname: Nombre de la ventana que es el padre de la barra de seguimiento
- maxval: Nueva posición máxima
Retorno: Ninguno
Ejemplo 1:
En este ejemplo, hemos creado una ventana con una imagen negra. Además, creamos una barra de seguimiento usando la función createTrackbar () y establecemos el valor máximo de la barra de seguimiento usando la función setTrackbarMax() en 200. Después de eso, crearemos un bucle para mostrar una imagen y una barra de seguimiento. Entonces, cada vez que movemos la posición de la barra de seguimiento, los tonos de negro cambian.
Python3
# Python program for setTrackbarMax() #Python OpenCV # Importing the libraries OpenCV and numpy import cv2 import numpy # Create a function 'nothing' for creating trackbar def nothing(x): pass # Creating a window with black image img = numpy.zeros((300, 512, 3), numpy.uint8) cv2.namedWindow('image') # Creating trackbars for color change cv2.createTrackbar('color_track', 'image', 0, 255, nothing) # Setting maximum position of 'color_track' trackbar to 200 cv2.setTrackbarMax('color_track', 'image', 200) # Create a loop for displaying image and trackbar while(True): # Display the image cv2.imshow('image', img) # Create a button for pressing and changing the window k = cv2.waitKey(1) & 0xFF if k == 27: break # Get current positions of trackbar color = cv2.getTrackbarPos('color_track', 'image') # Display color mixture img[:] = [color] # Close the window cv2.destroyAllWindows()
Producción:
Ejemplo 2:
En este ejemplo, hemos creado una ventana con una imagen negra. Además, creamos tres barras de seguimiento de color rojo, verde y azul con la función createTrackbar() y establecemos los valores máximos de la barra de seguimiento con la función setTrackbarMax() en 100, 200 y 150. Más tarde, creamos un bucle para mostrar una imagen y una barra de seguimiento. Entonces, cada vez que movemos las posiciones de la barra de seguimiento, los tonos de rojo, verde y azul cambian.
Python
# Python program for setTrackbarMax() #Python OpenCV # Importing the libraries OpenCV and numpy import cv2 import numpy # Create a function 'nothing' for creating trackbar def nothing(x): pass # Creating a window with black image img = numpy.zeros((300, 512, 3), numpy.uint8) cv2.namedWindow('image') # Creating trackbars for red color change cv2.createTrackbar('Red', 'image', 0, 255, nothing) # Creating trackbars for Green color change cv2.createTrackbar('Green', 'image', 0, 255, nothing) # Creating trackbars for Blue color change cv2.createTrackbar('Blue', 'image', 0, 255, nothing) # Setting maximum values of green color trackbar cv2.setTrackbarMax('Green', 'image', 100) # Setting maximum values of red color trackbar cv2.setTrackbarMax('Red', 'image', 200) # Setting maximum values of blue color trackbar cv2.setTrackbarMax('Blue', 'image', 150) # Create a loop for displaying image and trackbar while(True): # Display the image cv2.imshow('image', img) # Create a button for pressing and changing the window k = cv2.waitKey(1) & 0xFF if k == 27: break # Get current positions of red color trackbar red_color = cv2.getTrackbarPos('Red', 'image') # Get current positions of green color trackbar green_color = cv2.getTrackbarPos('Green', 'image') # Get current positions of blue color trackbar blue_color = cv2.getTrackbarPos('Blue', 'image') # Display color mixture img[:] = [blue_color, green_color, red_color] # Close the window cv2.destroyAllWindows()
Producción: