【跟官网学opencv-python】笔记1.4:opencv滑动条函数 cv2.creatTrackbar()

目录

前言

目标

函数详解

1、cv2.createTrackbar()创建滑动条

2、cv2.getTrackbarPos()获取滑动条位置

代码演示

运行效果

参考


前言

跟着官网学习才是基础入门的最佳选择,下文是opencv-python官网的学习记录及扩展!

目标

学习函数cv2.getTrackbarPos()和cv2.creatTrackbar(),并制作一个调色板

函数详解

1、cv2.createTrackbar()创建滑动条

cv2.createTrackbar(trackbarName, windowName, value, count, onChange)
trackbarname    创建的滑动条的名称.
winname    将用作所创建滑动条的父级的窗口的名称.
value    滑块默认的位置(整数类型)。创建时,滑块位置由此变量定义.
count    滑动条最大值。最小位置始终为 0.
onChange    回调函数,每次滑动都会调用回调函数,回调函数通常都会含有一个默认参数,就是滑动条的位置。
userdata    按原样传递到回调的用户数据。它可用于处理跟踪栏事件,而无需使用全局变量.

2、cv2.getTrackbarPos()获取滑动条位置

cv2.getTrackbarPos(trackbarname, winname)
trackbarname    跟踪栏的名称.
winname    作为跟踪栏父级的窗口的名称.

代码演示

要求:通过调节滑动条来设定画板颜色。窗口显示颜色,三个滑动条来设置RGB的颜色。当滑动滑动条时,窗口颜色实时发生改变,默认窗口为黑色,且当转换按钮指向ON时滑动条才有用。

import numpy as np
import cv2 as cv
def nothing(x):
    pass
# Create a black image, a window
img = np.zeros((300,512,3), np.uint8)
cv.namedWindow('image')
# create trackbars for color change
cv.createTrackbar('R','image',0,255,nothing)
cv.createTrackbar('G','image',0,255,nothing)
cv.createTrackbar('B','image',0,255,nothing)
# create switch for ON/OFF functionality
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
    # get current positions of four trackbars
    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()

运行效果

 

 

参考

OpenCV: OpenCV-Python Tutorials

学习、进步、坚持。。。内容不间断更新中。。。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值