计算机图形|RGB与HSV模型的转化

简介: 计算机图形|RGB与HSV模型的转化


问题描述

1  RGB模型

RGB模型是目前常用的一种彩色信息表达方式,它使用红、绿、蓝三原色的亮度来定量表示颜色。

根据三基色原理,用基色光单位来表示光的量,则在RGB颜色空间,任意色光F都可以用R、G、B三色不同分量的相加混合而成:

F=r[R]+g[G]+b[B]

RGB颜色空间可以用一个三维的立方体来描述:

图1. 1RGB颜色空间

一般的3D编程只需要使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度。

有时候美术需要程序帮助调整饱和度来达到特定风格的渲染效果,这时候就需要转换颜色空间了。

而HSV模型正是由RGB模型转化而来.

2 HSV模型

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间. HSV色系对用户来说是一种直观的颜色模型,对于颜色,人们直观的会问“什么颜色?深浅如何?明暗如何?”,而HSV色系则直观的表示了这些信息。

这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

  1. 色调H
  2. 饱和度S
  3. 明度V

HSV模型可以看作是以RGB模型白色顶点(1,1,1)向黑色顶点(0,0,0)看过去形成了一个六边形,六边形边界表示H(色彩) ,水平轴表示纯度,明度沿垂直轴测量.

图2. 1HSV颜色空间

解决方案

3 二者相互转换公式

图3. 1RGB到HSV

图3. 2HSV到RGB

结语

在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解。而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深浅如何、明暗如何。


目录
相关文章
|
数据采集
PCA与主成分回归(PCR)有何区别?
PCA是降维工具,转化相关变量为线性无关的主成分,保留数据变异。PCR是回归分析方法,利用PCA的主成分预测因变量,应对自变量间的多重共线性,提升模型稳定性。两者协同工作,优化高维数据的建模。
665 0
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
香烟品牌识别和规格识别设计思路
基于YOLOv8实现香烟品牌与规格(条装/单盒装)识别,采用“品牌+规格”组合为60类的复合类别方案,结合充足标注数据(每类300-500张)、数据增强与反例优化,进行端到端联合训练,提升模型在复杂场景下的检测与分类精度。
|
10天前
|
数据采集 机器学习/深度学习 人工智能
YOLOv11浅浅解析:架构创新
YOLOv11是YOLO系列最新升级版,通过C3k2模块、SPPF优化和解耦检测头等创新,显著提升检测精度与速度,mAP提高2-5%,推理更快,支持多平台部署,适用于工业、安防、自动驾驶等场景。
|
12月前
|
数据采集 存储 监控
探索数据治理的实践路径:构建高效、合规的数据生态系统
在当今这个数据驱动的时代,数据已成为企业最宝贵的资产之一,它不仅驱动着业务决策,还塑造着企业的竞争优势。然而,随着数据量的爆炸性增长和来源的多样化,如何有效管理这些数据,确保其质量、安全性及合规性,成为了企业面临的重大挑战。数据治理作为一套指导数据管理和使用的框架,其重要性日益凸显。本文将探讨推动数据治理的实践路径,旨在帮助企业构建高效、合规的数据生态系统。
|
3月前
|
人工智能 前端开发 机器人
揭秘:ReAct 框架如何助力AI Agent从简单进化到强大?
本文三桥君探讨了ReAct框架如何推动AI代理(Agent)的进化。产品专家三桥君认为ReAct框架将推动AI从"被动回答"向"主动解决问题"转变,在客服、旅行规划等领域具有广泛应用前景。
471 0
|
8月前
|
传感器 程序员 Go
一文彻底搞清楚常见的IC封装
本文介绍了常见的IC封装类型,包括DIP、SOP、QFP、BGA、CSP等,详细解释了它们的特点、应用及选型参考,帮助读者理解封装技术的发展趋势与核心功能。
1796 0
一文彻底搞清楚常见的IC封装
HSV色彩空间
【5月更文挑战第12天】HSV色彩空间。
386 8
|
自然语言处理 物联网 算法框架/工具
开源大语言模型(LLM)汇总
随着ChatGPT的火爆,越来越多人希望在本地运行一个大语言模型。为此我维护了这个开源大语言模型汇总,跟踪每天不发的大语言模型和精调语言模型。
3366 0
开源大语言模型(LLM)汇总
|
缓存 JavaScript 前端开发
JavaScript进阶 - Web Workers与Service Worker
【7月更文挑战第6天】JavaScript的Web Workers和Service Worker增强了浏览器的性能处理和离线功能。Web Workers处理后台计算,减轻主线程压力,但通信有开销,受同源策略限制。Service Worker则能拦截网络请求,支持离线缓存和推送通知,但其生命周期和权限管理需谨慎处理。通过理解它们的工作原理和限制,开发者能创建更流畅、更健壮的Web应用。
403 0
|
编译器 C语言 C++
编译器报错:qsort函数对-2147483648、2147483648溢出报错
编译器报错:qsort函数对-2147483648、2147483648溢出报错
327 0