轨迹条作为调色板 OpenCV-Python v4.7.0

该教程介绍了如何在OpenCV中使用轨迹条绑定到窗口上,通过cv.createTrackbar()函数创建BGR色彩调整的轨迹条,并利用回调函数实现颜色变化。同时,示例还包括了一个开关功能,通过轨迹条控制程序是否显示图像。最后,提出了一个练习,让读者使用轨迹条创建可调节颜色和画笔半径的绘画程序。
摘要由CSDN通过智能技术生成

目标

代码演示

这里我们将创建一个简单的应用程序,显示你指定的颜色。你有一个显示颜色的窗口和三个轨道条来指定B、G、R三种颜色。你滑动轨迹条,窗口的颜色就会相应地改变。默认情况下,初始颜色将被设置为黑色。

对于cv.createTrackbar()函数,第一个参数是轨迹条的名称,第二个参数是它所连接的窗口名称,第三个参数是默认值,第四个参数是最大值,第五个参数是回调函数,每次轨迹条的值发生变化时都会执行。回调函数总是有一个默认参数,就是轨迹条的位置。在我们的例子中,函数什么都不做,所以我们只是简单地传递。

轨迹条的另一个重要应用是把它作为一个按钮或开关。OpenCV,默认情况下,没有按钮功能。所以你可以用轨迹条来获得这种功能。在我们的应用程序中,我们已经创建了一个开关,只有当开关打开时,应用程序才会工作,否则屏幕总是黑的。

import numpy as np
import cv2 as cv
def nothing(x):
    pass
# 创建一个黑色的图像,一个窗口
img = np.zeros((300,512,3), np.uint8)
cv.namedWindow('image')
# 创建换色的轨道条
cv.createTrackbar('R','image',0,255,nothing)
cv.createTrackbar('G','image',0,255,nothing)
cv.createTrackbar('B','image',0,255,nothing)
# 创建开关,实现开/关功能
switch = '0 : OFF \n1 : ON'
cv.createTrackbar(switch, 'image',0,1,nothing)
while(1):
    cv.imshow('image',img)
    k = cv.waitKey(1) & 0xFF
    if k == 27:
        break
    # 获取四个轨道杆的当前位置
    r = cv.getTrackbarPos('R','image')
    g = cv.getTrackbarPos('G','image')
    b = cv.getTrackbarPos('B','image')
    s = cv.getTrackbarPos(switch,'image')
    if s == 0:
        img[:] = 0
    else:
        img[:] = [b,g,r]
cv.destroyAllWindows()

该程序运行的屏幕截图看起来如下:
image

练习

使用轨迹条创建一个可调节颜色和画笔半径的绘画程序。关于绘图,请参考之前的鼠标处理教程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值