matlab中函数rgb2hsv使用的转换公式是什么

如题所述

第1个回答  2016-01-10
当h为m*3的矩阵时,hsv2rgb是把hsv调色板转换成rgb调色板。
当h为m*n*3的矩阵时,hsv2rgb是把hsv图像转换成rgb图像。

什么是调色板呢?调色板是一个存贮各种颜色值的列表。
这样索引图像只需存贮列表中的索引就可以了,具体的颜色值只需要到颜色列表中去查找。

但是表示颜色的方法有很多种。
最常见的RGB,第一个分量表示红色,第二个绿色,第三个蓝色。
RGB虽然方便计算机处理,但对人并不直观
HSV则对人很直观,H表示颜色,S表示饱和度(可以理解为纯度),V为亮度。例如“有点浓的暗红色”对应成HSV即“H为红色,S比较高(纯),V比较低(暗)”。
H,S,V三个变量的取值均在0和1之间。

程序解释如下:

V=V-min(V(:));
V=V/max(V(:));
V=.25+0.75*V;
是将V的值映射到[0.25,1]之间

M=M-min(M(:));
M=M/max(M(:));
是将M映射到[0,1]之间