4.通过制作trackbar控件了解3原色在opencv的应用-cnblog

news2024/10/6 6:26:19

通过制作trackbar控件了解3原色在opencv的应用

image-20240702202853547

什么是3原色

一张彩色图片通常是由三种基本颜色,即红色、绿色和蓝色(通常称为RGB)的混合组成的。这三种颜色以不同的比例混合可以产生几乎所有其他颜色。在数字图像中,每个像素通常都有红色、绿色和蓝色三个通道的值,这些值决定了像素的最终颜色。

制作trackbar控件控制3原色大小,观察3原色变化

# 导入OpenCV和NumPy库
import cv2
import numpy as np

# 创建一个名为'trackbar'的窗口,可以调整大小
cv2.namedWindow('trackbar', cv2.WINDOW_NORMAL)
cv2.resizeWindow('trackbar', 640, 480)  # 设置窗口大小为640x480

# 定义一个回调函数,它会被trackbar的任何变动调用
def callback(value):
    print(value)  # 打印当前trackbar的值

# 创建三个trackbar,分别对应红色、绿色和蓝色通道
cv2.createTrackbar('R', 'trackbar', 0, 255, callback)  # 红色通道trackbar,取值范围0-255
cv2.createTrackbar('G', 'trackbar', 0, 255, callback)  # 绿色通道trackbar,取值范围0-255
cv2.createTrackbar('B', 'trackbar', 0, 255, callback)  # 蓝色通道trackbar,取值范围0-255

# 加载一张图片作为背景,这里使用了opencv默认的BGR格式
# img = np.zeros((480,640,3),np.uint8)  # 创建一个480x640的黑色图片,3个通道
img = cv2.imread("./ws.jpg")  # 从文件读取图片

# 无限循环,直到用户按'q'键退出
while True:
    # 获取三个trackbar的当前值
    r = cv2.getTrackbarPos('R', 'trackbar')
    g = cv2.getTrackbarPos('G', 'trackbar')
    b = cv2.getTrackbarPos('B', 'trackbar')

    # 使用获取到的三个值来修改图片的颜色
    img[:] = [b, g, r]  # 将图片的每个像素点设置为对应的BGR值
    cv2.imshow('trackbar', img)  # 显示修改后的图片

    key = cv2.waitKey(1)  # 等待键盘输入,时间为1毫秒
    if key == ord('q'):  # 如果按下了'q'键
        break  # 退出循环

cv2.destroyAllWindows()  # 销毁所有OpenCV创建的窗口

image-20240702202638163

image-20240702202700122

image-20240702202716495

报错问题解决

image-20240702202755317

注意指示位置处导入了一张图片作为背景,所以文件夹里要有一个同名图片

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

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

相关文章

找不到msvcr110.dll是怎么回事?彻底解决msvcr110.dll丢失的方法

当您的电脑提示遇到msvcr110.dll丢失时,您知道如何解决此问题吗?事实上,解决此类dll文件丢失的问题相对较为简单。只要我们深入了解msvcr110.dll丢失的具体情况,便可轻松解决此问题。以下为您介绍msvcr110.dll修复方法。 一&#…

算法库应用-顺序串(串比较)

学习贺利坚老师博客 数据结构例程——串的顺序存储应用_使用顺序串存储身份证号-CSDN博客 本人详细解析博客 串的顺序存储结构应用_(1)假设串采用顺序串存储,设计一个算法程序,按顺序比较两个串s和t的大小。请-CSDN博客 版本日志 V1.0: 利用顺序串, 进行简单的判断比较, 也算是…

某DingTalk企典 - Token

⚠️前言⚠️ 本文仅用于学术交流。 学习探讨逆向知识,欢迎私信共享学习心得。 如有侵权,联系博主删除。 请勿商用,否则后果自负。 网址 aHR0cHM6Ly9kaW5ndGFsay5jb20vcWlkaWFuLw 浅聊一下 没毛病,就这字段,有效期…

【前端CSS3】CSS显示模式(黑马程序员)

文章目录 一、前言🚀🚀🚀二、CSS元素显示模式:☀️☀️☀️2.1 什么是元素显示模式2.2 块元素2.3 行内元素2.4 行块元素2.5 元素显示模式的转换 三、总结🚀🚀🚀 一、前言🚀&#x1f…

小程序 npm 支持

使用 npm 包 目前小程序已经支持使用 npm 安装第三方包,因为 node_modules 目录中的包不会参与小程序项目的编译、 上传和打包,因此在小程序 项目中要使用的 npm 包,必须走一遍构建 npm 的过程。在构建成功以后,默认 会在小程序目…

015-GeoGebra基础篇-定点旋转物体、动态显示数值并显示运动轨迹

这可能是我能想到的最大概率可以被你搜索到的标题了,容我先喘口气~ 目录 一、成品展示二、涉及内容三、做图步骤(1)绘制三角形t(2)建立定点D(3)制作角度滑动条(4)图形绕点…

如何利用AI撰写短文案获客?分享6大平台和3大步骤!

从去年开始,很多大厂都在裁员,原因就是因为AI的火爆,替代了很多机械式的劳动力。以前很多人可以通过机械式的工作来摸鱼,现在AI完成的效率比人工的要高很多倍。 国内好用的AI平台非常多,有时候也可以使用几个AI平台结合…

线程(基础概念)

文章目录 一、线程和进程?二、线程初识2.1 线程属性2.2 线程的调度策略2.3 线程的优先级2.3 线程实验 一、线程和进程? 我们经常描述进程(process)和线程(thread): 进程是资源管理的最小单位&a…

每天五分钟深度学习框架pytorch:tensor向量的统计函数的运算

本文重点 给定一个向量,我们如何才能获取到这个向量中重要的那部分呢?比如均值,最大值等等,我们可以使用pytorch中已经封装好的方法来完成这些任务。 常用的统计方法 L1范式 L1范式就是将向量中所有元素的绝对值相加求和,以上是对a、b、c三个向量求L1范式,都是8 L2范数…

GEE计算遥感生态指数RSEI

目录 RESI湿度绿度热度干度源代码归一化函数代码解释整体的代码功能解释:导出RSEI计算结果参考文献RESI RSEI = f (Greenness,Wetness,Heat,Dryness)其遥感定义为: RSEI = f (VI,Wet,LST,SI)式中:Greenness 为绿度;Wetness 为湿度;Thermal为热度;Dryness 为干度;VI 为植被指数…

QT5.12环境搭建与源码编译

一、概述 QT版本:QT5.12.10 Qt网址:http://download.qt.io/archive/qt/ 编译平台 ubuntu18.04 二、安装交叉编译工具链 1、获取交叉编译工具链 一般如果是编译系统如果有对应的gcc 就是用这个就可以了 比如rk3128 lin…

校园失物招领系统带万字文档java项目失物招领管理系统java课程设计java毕业设计springboot vue

文章目录 校园失物招领系统一、项目演示二、项目介绍三、万字字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档(9.9¥带走) 校园失物招领系统 一、项目演示 校园失物招领系统 二、项目介绍 语言: Java 数据库&…

【WebRTC实现点对点视频通话】

介绍 WebRTC (Web Real-Time Communications) 是一个实时通讯技术,也是实时音视频技术的标准和框架。简单来说WebRTC是一个集大成的实时音视频技术集,包含了各种客户端api、音视频编/解码lib、流媒体传输协议、回声消除、安全传输等。对于开发者来说可以…

【matlab】智能优化算法——求解目标函数

智能优化算法在求解目标函数方面发挥着重要作用,它通过迭代、筛选等方法来寻找目标函数的最优值(极值)。以下是关于智能优化算法求解目标函数的详细介绍: 一、智能优化算法概述 智能优化算法是一种搜索算法,旨在通过…

吴恩达机器学习 第三课 week2 推荐算法(下)

目录 01 学习目标 02 基于内容的过滤算法 03 实现“电影推荐系统” 3.1 问题描述 3.2 算法实现 04 大项目(数据很大)的推荐方法※ 4.1 方法原理 4.2 实施示例 05 总结 01 学习目标 (1)理解基于内容的过滤算法&#xff08…

模拟退火算法4—应用

TSP(旅行商)问题是最有代表性的优化组合问题之一,其应用已逐步渗透到各个技术领域和我们的日常生活中.它一开始是为交通运输而提出的,比如飞机航线安排、送邮件、快递服务、设计校车行进路线等等.实际上其应用范围扩展到了许多其他…

阿里模型调用体验

引言 随着人工智能技术的飞速发展,大型模型已成为推动技术进步的关键因素之一。阿里大模型作为国内领先的人工智能技术之一,其在多个领域的应用展示了强大的潜力。本文将通过调用案例,简单解析阿里大模型在特定场景中的应用及其效果。 1.导…

Aigtek高压功率放大器主要应用场景是什么

高压功率放大器是一种关键的电子设备,其主要功能是将低电压信号放大到较高电压水平,以满足特定应用的需求。这种类型的放大器在各种领域都发挥着至关重要的作用。安泰电子官网将为大家介绍高压功率放大器的主要应用场景,并介绍其在这些领域中…

Qt 网络编程实战

一.获取主机的网络信息 需要添加network模块 QT core gui network主要涉及的类分析 QHostInfo类 QHostInfo::localHostName() 获取本地的主机名QHostInfo::fromName(const QString &) 获取指定主机的主机信息 addresses接口 QNetworkInterface类 QNetworkInterfac…

《操作系统真象还原》学习笔记:第2章——编写MBR主引导记录

2.1 计算机的启动过程 载入内存: (1) 程序被加载器(软件或硬件)加载到内存某个区域 (2)CPU 的 cs:ip 寄存器被指向这个程序的起始地址 2.2 软件接力第一棒,BIOS 2.2.1 实模式下的…