RGB/HSV/YUV颜色空间模型总结
来源:互联网 发布:中国干部教育网络平台 编辑:程序博客网 时间:2024/05/02 20:16
F=r [ R ] + g [ G ] + b [ B ]
HSV颜色空间
HSV颜色空间可以用一个圆锥空间模型来描述。
从 RGB 到HSV 的转换
max=max(R,G,B)
min=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 * 60
if H < 0, H = H + 360
V=max(R,G,B)
S=(max-min)/max
h 的值通常规范化到位于 0 到 360°之间。而 h = 0 用于max = min 的(就是灰色)时候而不是留下 h 未定义。
以下为相应的VC代码:
void Rgb2Hsv(float R, float G, float B, float& H, float& S, float&V)
{
}
YUV颜色空间
优点作用
YUV主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和CB来表示。其中,Cr反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而CB反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。
采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。
YUV与RGB相互转换的公式如下(RGB取值范围均为0-255)︰
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
- RGB/HSV/YUV颜色空间模型总结
- RGB/HSV/YUV颜色空间模型总结
- RGB/HSV/YUV颜色空间模型总结
- RGB/HSV/YUV颜色空间模型总结
- RGB/HSV/YUV颜色空间模型总结
- RGB/HSV/YUV/Lab颜色空间模型总结
- 颜色空间-RGB、HSI、HSV、YUV、YCbCr
- 颜色空间-RGB、HSI、HSV、YUV、YCbCr
- 颜色空间-RGB、HSI、HSV、YUV、YCbCr
- 模块[camera]_RGB/HSV/YUV颜色空间模型总结
- RGB、Lab、YUV、HSI、HSV等颜色空间的区别
- RGB、Lab、YUV、HSI、HSV等颜色空间的区别
- RGB、Lab、YUV、HSI、HSV等颜色空间的区别
- RGB、Lab、YUV、HSI、HSV等颜色空间的区别
- RGB、Lab、YUV、HSI、HSV等颜色空间的区别
- RGB-HSV颜色空间
- RGB和HSV颜色空间
- RGB和HSV颜色空间
- Oracle ORA-00979
- Struts2注册信息验证
- <WP7>(二)手把手教你写天气预报程序:UserControl的运用
- Java的常用类库 Runtime System Math Random Arrays Colnealble
- JBox2D学习 - 小球碰撞实例 .
- RGB/HSV/YUV颜色空间模型总结
- 如何在网站里插入视频
- 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]
- Android开发入门二之AndroidManfest.xml文件详细说明 .
- S3C6410裸机中断终于搞定了,不需要汇编 ,使用VIC
- C++获取函数返回地址
- POJ-2837 DFS时不一定要用栈~
- 编写一unix程序,防止僵尸进程的出现
- HTTP服务七层架构技术探讨