Open In App

Python OpenCV – setTrackbarPos() Function

Last Updated : 03 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

setTrackbarPos() function sets the position of the specified trackbar in the specified window. It does not return anything. setTrackbarPos() takes three arguments. The first is for the trackbar name and the second one is the window name which is the parent of the trackbar and the third one is for the new value of the position that is to be set to the trackbar. It returns None.

Syntax:

cv.setTrackbarPos( trackbarname, winname, pos)

Parameters:

  • trackbarname – Name of trackbar.
  • winname – Name of the window that is the parent of the trackbar.
  • pos – New position.

Return:

None

To create Track bars first import all the required libraries and create a window. Now create track bar(s) and add code to change or work as per their movement.

When we move the slider of any of the trackbar its corresponding getTrackbarPos() values changes and it returns the position of the specific slider. Through which we change the behavior accordingly. 

Example: Using setTrackbarPos() function to change colors in a window

Python3




# Demo Trackbar
# importing cv2 and numpy
import cv2
import numpy
  
  
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('R', 'image', 0, 255, nothing)
  
# creating trackbars for Green color change
cv2.createTrackbar('G', 'image', 0, 255, nothing)
  
# creating trackbars for Blue color change
cv2.createTrackbar('B', 'image', 0, 255, nothing)
  
# setting position of 'G' trackbar to 100
cv2.setTrackbarPos('G', 'image', 100)
  
while(True):
    # show image
    cv2.imshow('image', img)
    # for button pressing and changing
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break
  
    # get current positions of all Three trackbars
    r = cv2.getTrackbarPos('R', 'image')
    g = cv2.getTrackbarPos('G', 'image')
    b = cv2.getTrackbarPos('B', 'image')
  
    # display color mixture
    img[:] = [b, g, r]
  
# close the window
cv2.destroyAllWindows()


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads