计算颜色的HSV值


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)

Chinar —— 心分享、心创新!

助力快速完成 Color 的 HSV值

为新手节省宝贵的时间,避免采坑!


全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

HSV —— 色彩模型

通过颜色的 RGB 值计算出对应的 HSV

H : Hue 色度

S : Saturation饱和度

V : Value 纯度

using UnityEngine;
using UnityEngine.UI; /// <summary>
/// 通过RGB —— HSV
/// </summary>
public class ChinaCalculateColorHsv : MonoBehaviour
{
private Image TestImage; //测试图片,用来颜色取值
private Image TargetImage; //目标图片,用来将HSV转RGB,赋值
private float R;
private float G;
private float B;
private float H;
private float V;
private float S;
private float max;
private float min; void Start()
{
TestImage = GameObject.Find("TestImageColor").GetComponent<Image>();
TargetImage = GameObject.Find("TargetImage").GetComponent<Image>();
} public void CalculateColorHsv()
{
R = TestImage.color.r;
G = TestImage.color.g;
B = TestImage.color.b;
max = Mathf.Max(R, G, B);
min = Mathf.Min(R, G, B);
if (R == max)
{
H = (G - B) / (max - min);
}
if (G == max)
{
H = 2 + (B - R) / (max - min);
}
if (B == max)
{
H = 4 + (R - G) / (max - min);
}
H = (H / 6);
if (H < 0)
{
H = (H / 360 + 1);
} S = (max - min) / max;
V = (Mathf.Max(R, G, B));
print((H));
print((S));
print((V)); TargetImage.color = Color.HSVToRGB(H, S, V);
}
}

2

Example —— 实例

这里以 Unity 来举个例子

取一个图片的颜色 RGB ,得到 HSV

然后通过内置函数 Color.HSVToRGB(H, S, V) 将 HSV 转为 Color 赋值给新图片




支持

May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)



1 —— 云服务器超全购买流程 (新手必备!)



2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)



3—— Windows 服务器配置、运行、建站一条龙 !



4 —— Linux 服务器配置、运行、建站一条龙 !




" role="presentation">

技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究


对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com


对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

颜色的RGB-计算HSV公式色度/饱和度/亮度 简化代码的更多相关文章

  1. Python RGB 和HSV颜色相互转换

    转自:http://outofmemory.cn/code-snippet/1002/Python-RGB-HSV-color-together-switch Python RGB 和HSV颜色相互转 ...

  2. RGB颜色空间、色调、饱和度、亮度,HSV颜色空间详解

    本文章会详细的介绍RGB颜色空间与RGB三色中色调.饱和度.亮度之间的关系,最后会介绍HSV颜色空间! RGB颜色空间 概述 RGB颜色空间以R(Red:红).G(Green:绿).B(Blue:蓝) ...

  3. 几种颜色模型(颜色空间):HSV CMYK RGB

    RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Saturation Value)颜色模型是面向用户的. HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. ...

  4. 颜色渐变的RGB计算

    均匀渐变 渐变(Gradient)是美学中一条重要的形式美法则,与其相对应的是突变.形状.大小.位置.方向.色彩等视觉因素都可以进行渐变.在色彩中,色相.明度.纯度也都可以产生渐变效果,并会表现出具有 ...

  5. Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别

    Atitit  rgb yuv  hsv HSL 模式和 HSV(HSB) 图像色彩空间的区别 1.1. 色彩的三要素 -- 色相.明度.纯度1 1.2. YUV三个字母中,其中"Y&quo ...

  6. [图像类名词解释][ RGB YUV HSV相关解释说明]

    一.概述 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间.但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象.颜色空间按照基本机 ...

  7. UnityShader:HSV(色相,饱和度,亮度)转换

    http://blog.csdn.net/costfine/article/details/46930473 发现其实美术调整颜色的时候大部分都是调整的HSV,因为可以方便的分别调整色相(hue).饱 ...

  8. 颜色空间RGB与HSV(HSL)的转换

    一般的3D编程只需要使用RGB颜色空间就好了,但其实美术人员更多的是使用HSV(HSL),因为可以方便的调整饱和度和亮度. 有时候美术需要程序帮助调整饱和度来达到特定风格的渲染效果,这时候就需要转换颜 ...

  9. yuv rgb 互转 公式 及算法

    1 前言 自然界的颜色千变万化,为了给颜色一个量化的衡量标准,就需要建立色彩空间模型来描述各种各样的颜色,由于人对色彩的感知是一个复杂的生理和心理联合作用的过程,所以在不同的应用领域中为了更好更准确的 ...

随机推荐

  1. overture不同行的音符应该如何连线?

    钢琴初学者在使用overture的时候,碰到不同行中的音符想要将其连线,肯定会疑惑如何来完成这个操作.Overture作为一款钢琴爱好者喜爱的钢琴打谱作曲软件,有着十分强大的功能,下面,我们来看看如何 ...

  2. 论文笔记:Concept Mask: Large-Scale Segmentation from Semantic Concepts

    Concept Mask: Large-Scale Segmentation from Semantic Concepts 2018-08-21 11:16:07 Paper:https://arxi ...

  3. vue进行文件下载

    本文为博主原创,未经允许不得转载: 总结一下,最近在vue中实现一个文件下载的功能,用了vue中ajax的方式请求下载接口, 但是返回报错,在网上查询之后,找到用ajax请求下载文件报错的原因:aja ...

  4. centos 7 已经开启 22 端口但无法连接

    已经开启 22 端口但无法连接 刚买的 vps ,默认 ssh 端口是 29488, 使用以下方式连接ssh -p 29488 root@x.x.x.x觉得加端口有点麻烦, 希望使用默认的 22 端口 ...

  5. Anaconda环境下安装库

    使用anaconda环境下使用pycharm后,有些其他库也想安装,但开始在python.exe目录下安装没成功,因为pycharm用的环境已经不是原始的python.exe解释器了.就总结了一些安装 ...

  6. Qt信号和槽机制

    概述 信号和槽机制是QT的核心机制,要精通QT编程就必须对信号和槽有所了解.信号和槽是一种高级接口,应用于对象之间的通信,他是QT的核心特性,也是QT差别于其他工具包的重要地方.信号和槽是QT自行定义 ...

  7. Codeforces Round #113 (Div. 2) B. Polygons Andrew求凸包

    B. Polygons time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  8. dedecms 模版里格式化时间标签

    <!--带时分秒--> [field:pubdate function="GetDateTimeMK(@me)"/] <!--只有日期--> [field: ...

  9. Juploader 1.0 谷歌(chrome)浏览器中成功上传文件后返回信息异常

    在项目中使用了Juploader 1.0无刷新上传文件的js组件,在IE8以上没有问题,代码如下: function InitialUploadDirectly(OnUploadFunc, butto ...

  10. python中实现并发的手段之 协程

    几种实现并发的手段 进程 启动多个进程 进程之间是由操作系统负责调用线程 启动多个线程 真正被CPU执行的最小单位实际是线程 开启一个线程 创建一个线程 寄存器 堆栈 关闭一个线程协程 本质上是一个线 ...