使用函数:
- cv2.getTrackbarPos()
- cv2.setTrackbarPos()
- cv2.creatTrackbar()
cv2.getTrackbarPos()参数详情:
1. 滑动条的名字
2. 滑动条被放置窗口的名字
3. 滑动条默认的位置
4. 滑动条最大的值
直接实例理解:(通过调节滑动条来设定画板颜色,窗口显示颜色,三个滑动条来设置RGB的颜色)
import cv2
import numpy as np
R_init = 300
G_init = 512
B_init = 3
def R_change(value):
global R_init
R_init = value
def G_change(value):
global G_init
G_init = value
def B_change(value):
global B_init
B_init = value
# 创建一个黑色图像
img = np.zeros((300,512,3),np.uint8)
cv2.namedWindow('image')
cv2.setTrackbarPos('R', 'image', R_init) # 设置初始值
cv2.createTrackbar('R', 'image', 0, 255, R_change)
cv2.setTrackbarPos('G', 'image', G_init)
cv2.createTrackbar('G', 'image', 0, 255, G_change)
cv2.setTrackbarPos('B', 'image', B_init)
cv2.createTrackbar('B', 'image', 0, 255, B_change)
while (1):
cv2.imshow('image', img)
k = cv2.waitKey(1)
if k == ord('q'): # 按q键退出
break
r = cv2.getTrackbarPos('R', 'image')
g = cv2.getTrackbarPos('G', 'image')
b = cv2.getTrackbarPos('B', 'image')
img[:] = [r, g, b]
cv2.destroyAllWindows()