我们将会建立一个简单的应用,显示我们指定的颜色。将会建立一个窗口,显示三个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 = r'0: 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调色板的更多相关文章

  1. 学习 opencv---(5) 创建Trackbar(活动条) &图像对比度,亮度值调整

    学习如何在opencv 中用trackbar 函数创建和使用 轨迹条,以及图像对比度,亮度值的动态调整 一.OpenCV中轨迹条(Trackbar)的创建和使用 [1]创建轨迹条-----create ...

  2. 第47课 Qt中的调色板

    1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使 ...

  3. jQuery.swatches – 把 Div 变成可爱的调色板

    jQuery.swatches 是一款开源的 jQuery 插件,能够把一个 Div 转换成漂亮的调色板.您可以自定义你想要的类,使用不同的类可以生成不同的调色板.这个功能能够帮助设计师方便的挑选设计 ...

  4. 第16章 调色板管理器_16.4 一个DIB位图库的实现(2)

    //接上一篇 //DibPal.h /*----------------------------------------------------------------- DIBPAL.H heade ...

  5. 第16章 调色板管理器_16.4 一个DIB位图库的实现(1)

    16.4.1自定义的 DIBSTRUCT结构体 字段 含义 PBYTE *ppRow ①指向位图视觉上最上面的一行像素.(不管是自下而上,还是自上而下) ②放在第一个字段,为的是后面定义宏时可方便访问 ...

  6. AI调色板

    AI新建图层时,要选择CMYK模式,才能出现如下图所示调色板,如果选RGB模式,那么调整颜色的时候只能通过输入RGB.

  7. Pyqt 设置 背景颜色和背景图片、 QPalette 调色板 与QPainter 画板区别 、 不规则图片

    设置 背景颜色和背景图片 首先设置autoFillBackground属性为真然后定义一个QPalette对象设置QPalette对象的背景属性(颜色或图片)最后设置QWidget对象的Palette ...

  8. opencv笔记3:trackbar简单使用

    time:2015年 10月 03日 星期六 13:54:17 CST # opencv笔记3:trackbar简单使用 当需要测试某变量的一系列取值取值会产生什么结果时,适合用trackbar.看起 ...

  9. C#winform中TrackBar的使用

    1.手动设置高度(宽):把AutoSize属性设为false 2.重要的事件:Scroll事件和和ValueChanged事件 3.由于TrackBar的Value类型为int,若绑定数据项的最小精度 ...

  10. 颜色缩减(带Trackbar)【从毛星云Opencv3编程入门P75 P111例程改编】

    最近学了点opencv,买了毛星云的书,大力推荐哦. 颜色缩减,自己加了个Trackbar看起来更直观一些. 我一般自己先看一遍程序,脑子里有个大概印象了,再自己写一遍,这样出了错误会印象更深刻. 1 ...

随机推荐

  1. class(类)和构造函数(原型对象)

    构造函数和class的关系,还有面向对象和原型对象,其实很多人都会很困惑这些概念,这是第二次总结这些概念了,之前一次,没有class类,其实了解了构造函数,class也就很容易理解了 一. 构造函数和 ...

  2. 机器学习04-(决策树、集合算法:AdaBoost模型、BBDT、随机森林、分类模型:逻辑回归)

    机器学习04 机器学习-04 集合算法 AdaBoost模型(正向激励) 特征重要性 GBDT 自助聚合 随机森林 分类模型 什么问题属于分类问题? 逻辑回归 代码总结 波士顿房屋价格数据分析与房价预 ...

  3. Python-​​pprint的简单使用

    ​​Data pretty printer 一.简介​ ​​print()​和​​pprint()​都是python的打印模块,功能基本一样,唯一的区别就是​​pprint()​模块打印出来的数据结构 ...

  4. 安装dataX的问题,com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe

    文章目录 报错 安装: 解决方法 总结 报错 com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe ...

  5. ReactHub:我用 ChatGPT 搞了一个 React 的资源导航网站,谁有我用心啊!

    大家好,我是DOM哥. 图谱年年有,今年我来盘! 之前已经盘完了 Vue 的技术图谱,今天来盘 React 的. 我用 ChatGPT 开发了一个 React 的资源导航网站. 不管你是资深 Reac ...

  6. Unity快速接入bugly, 支持Unity2021

    鹅厂提供的bugly官方demo工程打包后台也查不到日志,N年不更新(官方已经说不再维护),为此本人做了部分修改测试,提供一个快速接入工程的demo. Unity2021因为版本原因腾讯官方工程不能使 ...

  7. 文心一言 VS chatgpt (10)-- 算法导论 3.1 2~3题

    二.证明:对任意实常量a和b,其中b>0,有(n+a) ^ b=O(n ^ b). 文心一言: 设a=b,则有(n+a) ^ b=(n+b)(n+a)=n ^ b+n ^ b =O(n ^ b) ...

  8. 2022-10-23:给你一个整数数组 nums 。如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。 比方说,如果 nums =

    2022-10-23:给你一个整数数组 nums .如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 . 比方说,如果 nums = ...

  9. 用批处理干掉汇编masm link六回车

    干掉麻烦的六回车 踏破铁鞋无觅处,得来全不费功夫 前言 最近在上汇编语言的课,在手动编译链接的时候你可能做过以下操作: 输入 masm 1.asm 回车 回车 回车 输入 link 1.obj 回车 ...

  10. 浅析HTTPS的通信机制

    什么是HTTPS? HTTPS 是在HTTP(Hyper Text Transfer Protocol)的基础上加入SSL(Secure Sockets Layer),在HTTP的基础上通过传输加密和 ...