opencv--滑动条制作

使用函数:

  • 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()

这里写图片描述

猜你喜欢

转载自blog.csdn.net/mrjiale/article/details/81948883