Open In App

Python | OpenCV BGR color palette with trackbars

Last Updated : 04 Jan, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report
OpenCV is a library of programming functions mainly aimed at real-time computer vision. In this article, Let's create a window which will contain RGB color palette with track bars. By moving the trackbars the value of RGB Colors will change b/w 0 to 255. So using the same, we can find the color with its RGB values.
Libraries needed:
OpenCV
Numpy
Approach: Create a black window with three color channels with resolution 512 x 512. Then create three 'B' 'G' 'R' trackbars using predefined functions of OpenCV library. Set the values of channels from 0 to 255. Merging the black window with these color trackbars. Python3 1==
# Python program to create RGB color  
# palette with trackbars 

# importing libraries
import cv2
import numpy as np
 
# empty function called when
# any trackbar moves
def emptyFunction():
    pass
 
def main():
    
    # blackwindow having 3 color chanels
    image = np.zeros((512, 512, 3), np.uint8) 
    windowName ="Open CV Color Palette"
    
    # window name
    cv2.namedWindow(windowName) 
     
    # there trackbars which have the name
    # of trackbars min and max value 
    cv2.createTrackbar('Blue', windowName, 0, 255, emptyFunction)
    cv2.createTrackbar('Green', windowName, 0, 255, emptyFunction)
    cv2.createTrackbar('Red', windowName, 0, 255, emptyFunction)
     
    # Used to open the window
    # till press the ESC key
    while(True):
        cv2.imshow(windowName, image)
        
        if cv2.waitKey(1) == 27:
            break
        
        # values of blue, green, red
        blue = cv2.getTrackbarPos('Blue', windowName)
        green = cv2.getTrackbarPos('Green', windowName)
        red = cv2.getTrackbarPos('Red', windowName)
        
        # merge all three color chanels and
        # make the image composites image from rgb   
        image[:] = [blue, green, red]
        print(blue, green, red)
         
    cv2.destroyAllWindows()

# Calling main()         
if __name__=="__main__":
    main()
Output: Note: Above programs will not run on online IDE.

Next Article
Practice Tags :

Similar Reads