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.
# 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.