首页 > 其他 > 详细

Trackbar调色板

时间:2019-12-25 18:34:58      阅读:80      评论:0      收藏:0      [点我收藏+]

我们将会建立一个简单的应用,显示我们指定的颜色。将会建立一个窗口,显示三个trackbar指定RGB三个颜色通道值。可以滑动trackbar来改变相应的颜色。默认情况下,初始颜色为黑色。

cv2.getTrackbarPos()函数,第一个参数为trackbar名称,第二个参数为window的名称以指定该trackbar将会绑定到哪个窗口。第三个参数为trackbar的初始默认值,第四个参数为最大值,第五个参数为trackbar的回调函数(callback function),每一次trackbar值发生改变都会自动调用其指定的callback。callback函数中由默认由一个获取当前trackbar值得参数。本例中,我们的callback并没有什么操作。

trackbar的另一个重要的应用是用作开关或按钮。opencv默认并没有button功能。所以你可以使用trackbar实现按钮的功能,在我们的应用中,我们创建了一个开关(switch),我们的demo仅在swith为on的时候工作。

 

import cv2
import numpy as np

def nothing(x):
    pass
#创建一个褐色背景图和一个窗口
img = np.zeros( (300, 512, 3), np.uint8)
cv2.namedWindow(image, cv2.WINDOW_NORMAL)

#创建3个trackbar
cv2.createTrackbar(R, image, 0, 255, nothing)
cv2.createTrackbar(G, image, 0, 255, nothing)
cv2.createTrackbar(B, image, 0, 255, nothing)

#用trackbar创建一个开关
switch = r0: OFF\n 1:ON
cv2.createTrackbar(switch, image, 0, 1, nothing)

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

    #获取当前trackbar的位置
    r = cv2.getTrackbarPos(R, image)
    g = cv2.getTrackbarPos(G, image)
    b = cv2.getTrackbarPos(B, image)
    s = cv2.getTrackbarPos(switch, image)

    if s == 0:
        img[:] = 0
    else:
        img[:] = [b, g, r]
cv2.destroyAllWindows()

效果图如下所示:

技术分享图片

Trackbar调色板

原文:https://www.cnblogs.com/leoych/p/12098167.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!