En este artículo, discutiremos cómo establecer la posición mínima de la barra de seguimiento. El valor mínimo de la barra de seguimiento se puede lograr usando la función setTrackbarMin() del paquete OpenCV en python. Esta función establece la posición mínima de la barra de seguimiento especificada en la ventana especificada después de crear la barra de seguimiento.
función setTrackbarMin():
La función setTrackbarMin() establece la posición mínima de la barra de seguimiento en la ventana. No devuelve nada. Esta función toma tres argumentos. El primero es para el nombre de la barra de seguimiento y el segundo es el nombre de la ventana que es el padre de la barra de seguimiento y el tercero es para el nuevo valor de la posición que se establecerá en la barra de seguimiento. Devuelve Ninguno.
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ínimo de la barra de seguimiento usando la función setTrackbarMin() en 100. 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 setTrackbarMin() # 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 minimum position of 'color_track' # trackbar to 100 cv2.setTrackbarMin('color_track', 'image', 100) # 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ínimos de la barra de seguimiento con la función setTrackbarMin() en 50, 100 y 150. Más tarde, creamos un ciclo 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.
Python3
# Python program for setTrackbarMin() #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 minimum values of green color trackbar cv2.setTrackbarMin('Green', 'image', 50) # Setting minimum values of red color trackbar cv2.setTrackbarMin('Red', 'image', 100) # Setting minimum values of blue color trackbar cv2.setTrackbarMin('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: