计算机图形学原理的课给我们指定了课题然后自己去研究并且做ppt(顺便吐槽一下晚课下课布置作业第二天早课就要交的辣鸡时间安排)

肝了一个晚上 大概知道了一点 先写下来

HSV其实是hue saturation value 即为色调 饱和度 明度 的一个颜色模型 是RGB颜色模型的替代表示、

色调H  用角度度量 取值范围一般为0~360度 从红色开始按逆时针方向算 红色为0度 绿色为120度 蓝色为240度 它们的互补色为黄色60度 青色180度 品红300度

保护度S表示颜色接近光谱色的程度 一种颜色可以看作是某种光谱色与白色混合的结果 其中光谱色占的比例越大 颜色接近光谱色的程度就越高 颜色的饱和度就越高 饱和度高 颜色则深而艳 光谱色的白光成分为0 饱和度达到最高 通常取值范围为0%~100% 值越大颜色越饱和

明度V表示颜色明亮的程度  对于光源色  明度值与发光体的光亮度有关  对于物体色  此值和物体的透射比或反射比有关  通常取值范围为0%(黑)到100%(白)

HSV模型通常用倒六棱锥的模型表示  H参数表示色彩信息  即所处的光谱颜色的位置  该参数用一角度量来表示  纯度S为一比例值  范围从0到1  表示所选颜色的纯度和该颜色最大的纯度之间的比率  S=0时  只有灰度 V表示色彩的明亮程度  范围从0到1  它和光强度之间并没有直接的联系

算法:

RCB转化到HSV的算法:

max=max(R,G,B);

min=min(R,G,B);

V=max(rR,G,B);

S=(max-min)/max;

if(R=max) H=(G-B)/(max-min)*60;

if(G=max) H=120+(B-R)/*(max-min)*60;

if(B=max) H=240+(R-G)/(max-min)*60;

if(H<0) H=H+360;

HSV转化到RGB的算法:

if (s = 0)
R=G=B=V;
else
H /= 60;
i = INTEGER(H);
f = H - i;
a = V * ( 1 - s );
b = V * ( 1 - s * f );
c = V * ( 1 - s * (1 - f ) );
switch(i)
case 0: R = V; G = c; B = a;
case 1: R = b; G = v; B = a;
case 2: R = a; G = v; B = c;
case 3: R = a; G = b; B = v;
case 4: R = c; G = a; B = v;
case 5: R = v; G = a; B = b;

最新文章

  1. 从中间件的历史来看移动App开发的未来
  2. springboot + mysql 编写
  3. 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]
  4. Oracle中的正则表达式
  5. java web module of login
  6. robotframework笔记3--如何编写好的测试用例使用机器人的框架
  7. 默认选择radio的第一个
  8. golang:interface{}类型测试
  9. 在jQuery环境下制作轻巧遮罩层
  10. vc++笔记十一
  11. 皴EBS R12应用程序和数据库用户password
  12. Hadoop优先级调度
  13. windows10 subsystem(bash) 如何使用jupter notebook
  14. locale命令设置语言环境
  15. js input输入事件兼容性问题
  16. 前端Web开发MVC模式-入门示例
  17. tcp为什么要三次握手,而不能二次握手?
  18. 网络1711c语言函数作业总结
  19. 【工作分解法】IT人,你的工作“轻松”么?
  20. 安装MCScanX

热门文章

  1. OpenCV编译以及QT Creator配置
  2. Mac 上有哪些鲜为人知且极大提高效率的工具?
  3. CodeForces922E DP//多重背包的二进制优化
  4. C++ cout格式化输出(转)
  5. a标签与js的冲突
  6. HDU 1284(钱币兑换 背包/母函数)
  7. 055、创建macvlan网络 (2019-03-22 周五)
  8. Jrebel for Android 安装使用
  9. sql leetcode -Duplicate Emails
  10. Multiple vulnerabilities in DASAN H660RM GPON router firmware