HSV 和 RGB 互换 函数 c++
来源:互联网 发布:广电网络客服电话绵阳 编辑:程序博客网 时间:2024/06/05 00:14
//函数把 rgb转成hsv
function setRGBToHSV(r1,r2,r3) {
var maxJ = Math.max(r1,r2,r3);
var minJ = Math.min(r1,r2,r3);
var _max = maxJ-minJ;
if(r1 == r2 && r2 == r3) {
H = 0;
S = 0;
} else {
switch(maxJ) {
case r1:
H = (r2-r3)/_max;
case r2:
H = 2 + (r3-r1)/_max;
case r3:
H = 4 + (r1-r2)/_max;
}
H *= 60;
if(H < 0) H += 360;
H = Math.round(H);
S = Math.round(100*(maxJ - minJ)/maxJ);
}
V = Math.round(100*maxJ/255);
}
//函数把val转到r、g、b里面
void HSV2RGB(float val[], uchar *r, uchar *g, uchar *b)
{
//hsv to rgb
int i;
float f, p, q, t;
val[0] /= (float)60;
i = (int)val[0];
f = val[0]-i;
p = val[2] * (1- val[1]);
q = val[2] * (1-val[1] * f);
t = val[2] * (1-val[1] * (1-f));
switch(i){
case 0:{
*r = val[2]*255;
*g = t*255;
*b = p*255;
break;
}
case 1:{
*r = q*255;
*g = val[2]*255;
*b = p*255;
break;
}
case 2:{
*r = p*255;
*g = val[2]*255;
*b = t*255;
break;
}
case 3:{
*r = p*255;
*g = q*255;
*b = val[2]*255;
break;
}
case 4:{
*r = t*255;
*g = p*255;
*b = val[2]*255;
break;
}
case 5:{
*r = val[2]*255;
*g = p*255;
*b = q*255;
break;
}
}
}
- HSV 和 RGB 互换 函数 c++
- RGB和HSV转换
- RGB和HSV
- RGB和HSV
- RGB和HSV颜色转换
- RGB和HSV颜色空间
- RGB和HSV颜色模型
- RGB和HSV颜色空间
- RGB和HSV颜色转换
- RGB和HSV颜色模型
- RGB和HSV颜色转换
- RGB和HSV颜色转换
- RGB和HSV的关系
- OpenCV中RGB转HSV和HSV转RGB问题
- openCV RGB转HSV函数解析
- hsv -> rgb
- RGB,HSV
- UIColor:RGB和HSV互相转换
- 第5届索尔维会议
- 孩子感冒看病,一天花掉一万多
- C# 连接access并存至datatable中
- 【转】HTTP POST GET 本质区别详解
- Draw
- HSV 和 RGB 互换 函数 c++
- 在线手册速查
- FFmpeg
- 一生的朋友
- linux下apache tomcat mod_jk负载均衡
- ADO.NET 数据
- 时间获取函数及简单的格式转换
- sizeof详解
- 使用 DataAdapter 更新数据源 (ADO.NET)