【OpenCV学习笔记06】- 制作使用轨迹条控制的调色板

这是对于 OpenCV 官方文档的 GUI 功能的学习笔记。学习笔记中会记录官方给出的例子,也会给出自己根据官方的例子完成的更改代码,同样彩蛋的实现也会结合多个知识点一起实现一些小功能,来帮助我们对学会的知识点进行结合应用。
如果有喜欢我笔记的请麻烦帮我关注、点赞、评论。谢谢诸位。

学习笔记:
学习笔记目录里面会收录我关于OpenCV系列学习笔记博文,大家如果有什么不懂的可以通过阅读我的学习笔记进行学习。
【OpenCV学习笔记】- 学习笔记目录

内容

  • 学习将轨迹栏绑定到 OpenCV 窗口。
  • 你将学习这些函数:cv.getTrackbarPos(), cv.createTrackbar() 等等。

调色板代码

这里,我们将创建用以显示指定颜色的简单程序。 你有一个显示颜色的窗口和三个轨迹栏,用来指定 B,G,R 颜色。你可以滑动轨迹栏改变窗口的颜色。默认情况下,初始颜色为黑色。
对于 cv.createTrackbar() 函数,

  • 第一个参数是轨迹栏名字,
  • 第二个参数是被附上的窗口名字,
  • 第三个参数是默认值,
  • 第四个是最大值,
  • 第五个是回调函数——滑条改变所执行的函数。这个回调函数也有一个默认参数,表示轨迹栏位置。

我们并不关心函数内部的实现,所以只是提一下。

轨迹栏的另一个重要应用是用作按钮或者开关。
OpenCV在默认情况下没有按钮功能,因此我们用轨迹栏实现这样的功能。在我们的程序中创建了一个开关,其中程序只会在开关打开时有效,否则屏幕始终是黑色。

示例代码:

import numpy as np
import cv2 as cvdef 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 | 1 : ON'
cv.createTrackbar(switch, 'image', 0, 1, nothing)
while 1:cv.imshow('image', img)k = cv.waitKey(1) & 0xFFif k == 27:break# get current positions of four trackbarsr = cv.getTrackbarPos('R', 'image')g = cv.getTrackbarPos('G', 'image')b = cv.getTrackbarPos('B', 'image')s = cv.getTrackbarPos(switch, 'image')if s == 0:img[:] = 0else:img[:] = [b, g, r]
cv.destroyAllWindows()

效果图:
在这里插入图片描述

增加一个小彩蛋

实现轨迹条控制画笔颜色和笔刷半径,并可以正常绘画。
后面追加一个彩蛋章节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单易懂的PyTorch线性层解析:神经网络的构建基石

目录 torch.nn子模块Linear Layers详解 nn.Identity Identity 类描述 Identity 类的功能和作用 Identity 类的参数 形状 示例代码 nn.Linear Linear 类描述 Linear 类的功能和作用 Linear 类的参数 形状 变量 示例代码 nn.Bilinear Bilinear 类的功能和作用 B…

申请Certum IP证书的方法

Certum是波兰的一家数字证书颁发机构,可以为只有公网IP地址的网站提供IP证书的申请服务,为网站传输信息进行加密,提高网站SEO排名。Certum旗下的IP证书产品不多,其中比较受欢迎的就是DV基础型IP证书。今天就随SSL盾小编了解Certum…

指针中*与++不同位置到底表示什么

一段代码给你拎清楚&#xff01;&#xff01;&#xff01; #include <iostream> using namespace std;int main () {int num[5]{1,2,3};int * p,q;for(int n0;n<5;n)cout<<num[n]<< ;//赋值的各种方法pnum;*p10;//给首地址赋值p;*p20;//指针后移赋值法pn…

社交通证经济学:Web3时代的社交奖励系统

Web3时代的到来带来了区块链技术和去中心化的新范式&#xff0c;社交媒体也在这场变革中经历着深刻的改变。 社交通证经济学作为Web3时代社交媒体的创新实践&#xff0c;重新定义了用户在平台上的价值和奖励体系。本文将深入探讨Web3时代社交通证经济学的背景、工作原理以及对…

golang文件内容覆盖问题

项目场景&#xff1a; 通过golang读取数据库站点映射配置&#xff0c;生成nginx conf文件&#xff0c;并检查和重启nginx服务&#xff0c;已达到站点自动化部署目的。 问题描述 当目标文件中内容很长&#xff0c;而写入的内容很短时&#xff0c;目标文件内容无法完全覆盖。 …

最新版docker-compose安装

Ubuntu/Kali 下载安装最新版 docker-compose # FastGit加速 sudo curl -L "https://hub.fgit.cf/docker/compose/releases/download$(curl -L -i -s -o /dev/null -w "%{url_effective}\n" https://hub.fgit.cf/docker/compose/releases/latest | awk -F tag …

2024新年烟花代码完整版

文章目录 前言烟花效果展示使用教程查看源码HTML代码CSS代码JavaScript 新年祝福 前言 在这个充满希望和激动的2024年&#xff0c;新的一年即将拉开帷幕&#xff0c;而数字科技的创新与发展也如火如荼。烟花绚丽多彩的绽放&#xff0c;一直以来都是新年庆典中不可或缺的元素。…

学会这13个 Git 命令就够了!

提到版本控制工具Git&#xff0c;相信很多开发者都知道&#xff0c;其实我们在99%的日常时间里&#xff0c;只需要学会以下13个git命令就行了&#xff0c;让我们来一起看看吧&#xff01; 1、git init 这个命令是初始化一个新的Git仓库&#xff0c;即在当前目录中创建一个名为…

为什么伦敦金交易应该使用4小时以上的周期?

做伦敦金前&#xff0c;要先对市场走势进行分析。而分析市场总是涉及时间周期等问题&#xff0c;这也是投资者们存在疑惑的地方。到底我们需要选择什么时间周期呢&#xff1f;各人有个人的看法&#xff0c;而其中一种意见是&#xff0c;我们不应该使用低于4小时的周期&#xff…

【方差分析原理简介】

文章目录 方差分析&#xff08;Analysis of Variance&#xff0c;简称ANOVA&#xff09;1 方差分析流程2 借助sklean进行基于方差分析的特征筛选3 总结 方差分析&#xff08;Analysis of Variance&#xff0c;简称ANOVA&#xff09; 卡方检验更多的会考虑在衡量两个离散变量是…

【Java技术专题】「攻破技术盲区」攻破Java技术盲点之unsafe类的使用指南(打破Java的安全管控— sun.misc.unsafe)

Java后门机制 — sun.misc.unsafe 打破Java的安全管控关于Unsafe的编程建议实例化Unsafe后门对象使用sun.misc.Unsafe创建实例单例模式处理实现浅克隆&#xff08;直接获取内存的方式&#xff09;直接使用copyMemory原理分析 密码安全使用Unsafe类—示例代码 运行时动态创建类超…

敦煌网、国际站自养号测评:店铺销售怎么提高?

随着互联网的快速发展&#xff0c;电子商务成为了现代商业的重要组成部分。在众多电商平台中&#xff0c;敦煌网作为中国文化艺术产品的专业电商平台&#xff0c;吸引了大量消费者的关注。然而&#xff0c;如何提高敦煌网的销售业绩&#xff0c;成为了商家们共同面临的挑战。 …

diffusers加速文生图速度;stable-diffusion、PixArt-α

参考: https://pytorch.org/blog/accelerating-generative-ai-3/ https://colab.research.google.com/drive/1jZ5UZXk7tcpTfVwnX33dDuefNMcnW9ME?usp=sharing#scrollTo=jueYhY5YMe22 大概GPU资源8G-16G;另外模型资源下载慢可以在国内镜像:https://aifasthub.com/ 1、加速…

查看Linux磁盘空间

(1)、该命令会列出当前系统所有挂载的文件系统以及它们的使用情况&#xff0c;包括总容量、已用空间、可用空间、使用百分比等信息 df -h如果查看某一个文件夹的,可以 df -h folderName (2)、计算指定目录下所有文件和子目录所占用的磁盘空间大小&#xff0c;并以人类可读的格…

机器学习周刊 第4期:动手实战人工智能、计算机科学热门论文、免费的基于ChatGPT API的安卓端语音助手、每日数学、检索增强 (RAG) 生成技术综述

LLM开发者必读论文&#xff1a;检索增强&#xff08;RAG&#xff09;生成技术综述&#xff01; 目录&#xff1a; 1、动手实战人工智能 Hands-on Al2、huggingface的NLP、深度强化学习、语音课3、Awesome Jupyter4、计算机科学热门论文5、LLM开发者必读论文:检索增强 (RAG) 生…

Python基础(二十四、JSON和pyecharts)

文章目录 一、JSON1.JSON介绍2.JSON格式数据转化3.示例 二、pyecharts1.安装pyecharts包2.查看官方示例 三、开发示例 一、JSON 1.JSON介绍 JSON是一种轻量级的数据交互格式&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据&#xff08;就是字符串&#xff09;…

信息学奥赛一本通1013:温度表达转化

1013&#xff1a;温度表达转化 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 147346 通过数: 89341 【题目描述】 利用公式 C5(F−32)9C5(F−32)9(其中CC表示摄氏温度&#xff0c;FF表示华氏温度)进行计算转化,输入华氏温度FF&#xff0c;输出摄氏温度CC&#…

探索未来餐饮:构建创新连锁餐饮系统的技术之旅

随着数字化时代的发展&#xff0c;连锁餐饮系统的设计和开发不再仅仅关乎订单处理&#xff0c;更是一场充满技术创新的冒险。在本文中&#xff0c;我们将深入研究连锁餐饮系统的技术实现&#xff0c;带你探索未来餐饮业的数字化美食之旅。 1. 构建强大的后端服务 在设计连锁…

计算机网络-2021期末考试解析

【前言】 这个是计算机网络的正式试卷了。从形式上基本上跟今年考的一致。很具有参考性。 一、 简答题&#xff08;30 分&#xff0c;每题 5 分&#xff09; 1 、电路交换与分组交换各有什么优缺点&#xff1f;第 4 代蜂窝系统 -4G 采用的是全 IP 体系&#xff0c;这说明…

iPad Pro如何使用SSH远程连接服务器云端编程开发【内网穿透】

文章目录 1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 …