我们将会建立一个简单的应用,显示我们指定的颜色。将会建立一个窗口,显示三个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. 响应式的 switchboard:让又大又慢的Vue/AIpine 页面爆快

    我的提示: AIpine 是一个js 库,官网口号是 "一个新的轻量极javascript框架",其实我之前也没接触过,翻译这篇文章时才注意到 官方地址: [AIpine.js]h ...

  2. 搭建一个简易框架 3秒创建一个WebApi接口

    前端ajax请求数据,传递的参数都是一个json字符串,经过多次解析发现其实都是一个DataSet {"selectA1":[{"Name":"156 ...

  3. autojs系列-js入门1

    开头 确保 Autojs 和 adb 还有模拟器安装调试完成之后,就可以进行js的学习了 调试安装一部分步骤可以参考 https://www.cnblogs.com/c-keke/p/14919615 ...

  4. 2020-02-24:arr是面值数组,其中的值都是正数且没有重复。再给定一个正数aim。每个值都认为是一种面值,且认为张数是无限的。返回组成aim的最少货币数。

    福哥答案2020-02-24: 自然智慧即可. 1.递归.有代码. 2.动态规划.dp是二维数组.有代码. 代码用golang编写,代码如下: package main import ( " ...

  5. Spring Boot 配置文件总结

    前言 Spring Boot 中提供一个全局的配置文件:application.properties,这个配置文件的作用就是,允许我们通过这个配置文件去修改 Spring Boot 自动配置的默认值. ...

  6. ET介绍—— 一切皆实体的设计

    一切皆实体 目前十分流行ECS设计,主要是守望先锋的成功,引爆了这种技术.守望先锋采用了状态帧这种网络技术,客户端会进行预测,预测不准需要进行回滚,由于组件式的设计,回滚可以只回滚某些组件即可.ECS ...

  7. 【源码解读】asp.net core源码启动流程精细解读

    引言 core出来至今,已经7年了,我接触也已经4年了,从开始的2.1,2.2,3.1,5,6再到如今的7,一直都有再用,虽然我是一个Winform仔,但是源码一直从3.1到7都有再看,然后在QQ上面 ...

  8. 第一章 Rust基本知识 -- tour of rust

    第一章 基础知识 将探讨函数.变量和最基本的类型等基本知识. 变量 变量使用let关键字来声明. 在赋值时,Rust能够在99%的情况下推断变量类型.如果不能,也可以将类型添加到变量声明中. 注意 如 ...

  9. 统信UOS系统开发笔记(八):在统信UOS上编译搭建mqtt基础环境(版本使用QMQTT::Clinet)

    前言   统信uos使用到mqtt开发,需要重新编译mqtt,本篇描述统信uos20上的mqtt源码编译和环境搭建.   注意   这里下载的mqtt版本与其他几篇文章的不同,这里是使用QMQTT:: ...

  10. ERP导出(自定义格式表格)R报表开发代码

    按照正常流程新建程序,画面修改上传,程序下载修改 导入JAVA包,在global.import下 IMPORT com IMPORT JAVA java.net.URL IMPORT JAVA org ...