opencv 调色板创建

滑动条创建

要创建一个滑动条,使用cv.createTrackbar('R','image',0,255,call_back),参数
参数1:滑动条的名称
参数2:所在窗口的名称
参数3:当前的值
参数4:最大值
参数5:回调函数名称,回调函数默认有一个表示当前值的参数
创建好之后,可以在回调函数中获取滑动条的值,也可以用:cv.getTrackbarPos('R','image')得到,其中,参数1是滑动条的名称,参数2是窗口的名称。

RGB调色板实现

import cv2 as cv
import numpy as np

# 回调函数,x表示滑块的位置,本例暂不使用
def nothing(x):
    pass

img = np.zeros((300, 512, 3), np.uint8)
cv.namedWindow('image')

# 创建RGB三个滑动条
cv.createTrackbar('R', 'image', 0, 255, nothing)
cv.createTrackbar('G', 'image', 0, 255, nothing)
cv.createTrackbar('B', 'image', 0, 255, nothing)

while(True):
    cv.imshow('image', img)
    if cv.waitKey(1) == 27:
        break

    # 获取滑块的值
    r = cv.getTrackbarPos('R', 'image')
    g = cv.getTrackbarPos('G', 'image')
    b = cv.getTrackbarPos('B', 'image')
    # 设定img的颜色
    img[:] = [b, g, r]

实验结果:

使用调色板进行调色

原文地址:https://www.cnblogs.com/wojianxin/p/12587891.html