色彩转换——RGB & HSV
RGB to HSV
The R,G,B values are divided by 255 to change the range from 0..255 to 0..1:
R' = R/255
G' = G/255
B' = B/255
Cmax = max(R', G', B')
Cmin = min(R', G', B')
Δ = Cmax - Cmin
Hue calculation:

Saturation calculation:

Value calculation:
V = Cmax
HSV to RGB
When 0 ≤ H < 360, 0 ≤ S ≤ 1 and 0 ≤ V ≤ 1:
C = V × S
X = C × (1 - |(H/ 60º) mod 2 - 1|)
m = V - C

(R,G,B) = (R'+m, G'+m, B'+m)
算法参考来源:http://www.rapidtables.com/convert/color/hsv-to-rgb.htm
CODE:
function [H,S,V]=RgbToHsv(Image_Input)
Image_Input=double(Image_Input)/255;
R_Input=Image_Input(:,:,1);
G_Input=Image_Input(:,:,2);
B_Input=Image_Input(:,:,3);
[heigth,width]=size(R_Input);
S(1:heigth,1:width)=0;
H(1:heigth,1:width)=0;
V(1:heigth,1:width)=0;
for i=1:heigth
for j=1:width
temp=[R_Input(i,j),G_Input(i,j),B_Input(i,j)];
Max_value=max(temp);
Min_value=min(temp);
C_value=Max_value-Min_value;
V(i,j)=Max_value;
if(C_value==0)
S(i,j)=0;
else
S(i,j)=C_value/Max_value;
end
X=R_Input(i,j);
Y=G_Input(i,j);
Z=B_Input(i,j);
if(C_value==0)
continue;
end
if(Max_value==X)
H(i,j)=mod((Y-Z)/C_value,6);
elseif(Max_value==Y)
H(i,j)=(Z-X)/C_value+2;
else
H(i,j)=(X-Y)/C_value+4;
end
H(i,j)=H(i,j)/6;
end
end
function Image_out=HsvToRgb(H,S,V)
%% H(0,1),S(0,1),L(0,1)
[height,width]=size(H);
R(1:height,1:width)=0;
G(1:height,1:width)=0;
B(1:height,1:width)=0;
for i=1:height
for j=1:width
C=V(i,j)*S(i,j);
X=C*(1-abs(mod(H(i,j)*6,2)-1));
m=V(i,j)-C;
temp=floor(H(i,j)*6+1);
switch(temp)
case 1
R(i,j)=C+m;
G(i,j)=X+m;
B(i,j)=m;
case 2
R(i,j)=X+m;
G(i,j)=C+m;
B(i,j)=m;
case 3
R(i,j)=m;
G(i,j)=C+m;
B(i,j)=X+m;
case 4
R(i,j)=m;
G(i,j)=X+m;
B(i,j)=C+m;
case 5
R(i,j)=X+m;
G(i,j)=m;
B(i,j)=C+m;
case 6
R(i,j)=C+m;
G(i,j)=m;
B(i,j)=X+m;
end
end
end
Image_out(:,:,1)=R;
Image_out(:,:,2)=G;
Image_out(:,:,3)=B;
色彩转换——RGB & HSV的更多相关文章
- 色彩空间-- RGB\HSV
颜色空间 标签(空格分隔): 计算机视觉 颜色通常用三个独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间. RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Sat ...
- 色彩转换——RGB & HSI
RGB to HSI I=(R+G+B)/3; S=1-3*min(R,G,B)/(R+G+B); H = cos^(-1)((0.5*((R-G)+(R-B))) / ((R-G)^2 + (R-B ...
- 色彩转换——RGB & HSL
RGB to HSL The R,G,B values are divided by 255 to change the range from 0..255 to 0..1: R' = R/255 G ...
- RGB HSV HLS三种色彩模式转换(C语言实现)
Android项目上处理图像的代码(注释全部去掉) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...
- PhotoShop 图像处理 算法 汇总
不定期更新 ...... 直接点标题即可链接到原文. OpenCV 版:OpenCV 图像处理 图层混合算法: PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡)PS图层混合算法之二(线性 ...
- 由RGB到HSV颜色空间的理解
1. RGB模型 2. HSV模型 3. 如何理解RGB与HSV的联系 4. HSV在图像处理中的应用 5. opencv中RGB-->HSV实现 在图像处理中,最常用的颜色空间是RGB模型,常 ...
- RGB与HSV之间的转换公式及颜色表
RGB & HSV 英文全称 RGB - Red, Green, Blue HSV - Hue, Saturation, Value HSV --> RGB 转换公式 HSV --> ...
- HSV
HSV 相比于面向机器的RGB, HSV或HSI更贴近于人对颜色的描述: H: Hue, 颜色本身 S: Saturation, 纯色被白色稀释的程度. V: Value, 或I, Intensity ...
- [UWP]使用WriteableBitmap创建HSV色轮
1. HSV 1.1 HSV的定义 HSV都是一种将RGB色彩模型中的点在圆柱坐标系中的表示法,这种表示法试图做到比RGB基于笛卡尔坐标系的几何结构更加直观.HSV即色相.饱和度.明度(英语:Hue, ...
随机推荐
- SQLite Where 子句(http://www.w3cschool.cc/sqlite/sqlite-where-clause.html)
SQLite Where 子句 SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件. 如果满足给定的条件,即为真(true)时,则从表中返回特定的值.您可以使用 WHERE 子句 ...
- TortoiseSVN使用
TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费. TortoiseSVN是 Subversion 的 Windows 扩展.它使你避免接触 Subv ...
- 高通msm8994性能及温度监测脚本
[plain] view plain copystartTime=$(date +%Y-%m-%d-%H-%M-%S) pathName="/data/cpu_logs" fi ...
- Centos7安装RocketMQ及配置测试
环境 Centos7 RocketMQ 3.2.6 安装位置 /usr/local/alibaba-rockermq 外网ip 182.254.145.66 内网ip 10.105.23.114 安装 ...
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
网络编程 网络模型 *OSI参考模型 *Tcp/IP参考模型 网络通读要素 *IP地址 *端口号 *传输协议 1.找到对方Ip 2.数据要发送到对方指定的的应用程序上,为了标识这些应用程序,所经给这些 ...
- JQuery实战---初识JQuery+入门实例
JQuery在小编的世界中,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库,百度百科对JQuery的介绍比较详细,小伙伴可以东东自己可耐的小爪子,上网进行搜索,说 ...
- java虚拟机工具入门
jps 能显示现在都有那些java程序运行 C:\Users\Administrator>jps 16964 DeadLockJstack 9172 PULSEI~1.JAR 19392 Jps ...
- SimpleAdapter和Baseadapter填充listActivity-android学习之旅()
简介 SimpleAdapter的功能是能够为AbsListView提供复杂的数据,需要构造ListView 代码示例 package peng.liu.testview; import androi ...
- 快速高分辨率图像的立体匹配方法Effective large scale stereo matching
<Effective large scale stereo matching> In this paper we propose a novel approach to binocular ...
- 如何在Cocos2D游戏中实现A*寻路算法(八)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...