cv2滚动条

import cv2
import numpy as np


# 回调函数
def redValue(x):
    print('R:', x)


def greenValue(x):
    print('G:', x)


def blueValue(x):
    print('B:', x)


def switchValue(x):
    print('Switch:', x)


if __name__ == '__main__':
    img = np.zeros((500, 500, 3), np.uint8)  # 500x500黑色背景
    cv2.namedWindow('test')  # 窗体名
    cv2.createTrackbar('R', 'test', 0, 255, redValue)  # 滚动条名,窗体名,最小值,最大值,回调函数
    cv2.createTrackbar('G', 'test', 0, 255, greenValue)
    cv2.createTrackbar('B', 'test', 0, 255, blueValue)
    cv2.createTrackbar('switch', 'test', 0, 1, switchValue)

    while True:
        cv2.imshow('test', img)
        if cv2.waitKey(1) & 0xFF == ord('q'):  # 摁下q退出
            break
        R = cv2.getTrackbarPos('R', 'test')  # 获取数值
        G = cv2.getTrackbarPos('G', 'test')
        B = cv2.getTrackbarPos('B', 'test')
        switch = cv2.getTrackbarPos('switch', 'test')
        if switch == 0:
            img[:] = 0  # 无操作
        else:
            img[:] = [B, G, R]  # 设置颜色,opencv中为BGR

    cv2.destroyAllWindows()

cv2滚动条

参考文献:
OpenCV官方教程中文版(For Python)
https://www.linuxidc.com/Linux/2015-08/121400.htm