HIS是一种图像处理的彩色空间模型,其中H代表()
HIS是一种图像处理的彩色空间模型,其中H代表()
A 、亮度
B 、饱和度
C 、色调
D 、色温
参考答案
【正确答案:C】
HSI色彩空间是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation)和亮度(In-tensity)来描述色彩。
IHS中的三个字母I,H,S分别代表什么意思
图像处理里的IHS(Intensity,Hue, Saturation)分别表示亮度或强度(I)、色调(H)和饱和度(S)也称HIS,在计算机上定量处理色彩时通常采用RGB表色系统,但在视觉上定性描述色彩时,采用IHS系统则更为直观。IHS(Intensity,Hue, Saturation)分别表示亮度或强度(I)、色调(H)和饱和度(S),它们是从人眼中认识颜色的三个特征。亮度是指人眼对光源或物体明亮程度的感觉,一般来说与物体的反射率成正比。色调也称色别,是指彩色的类别,是彩色彼此相互区分的特征。饱和度是指彩色的纯洁性,一般来说颜色越鲜艳饱和度也越大。IHS定义的彩色空间如图。明度I沿着轴线从底部的黑变到顶部的白。色度H由圆柱底面圆的角度表示。假定0°为红色,120°为绿色,240°为蓝色,则色度0°到240°覆盖了所有可见光谱的彩色。饱和度S是色度环的原点(圆心)到彩色点的半径的长度。圆心的饱和度为零,圆周上的饱和度为I。
颜色的空间变换是指
看到好文章想保存怎么办!下载APP
颜色空间转换(一)
最初九月雪
2014-12-10分享收藏
颜色空间转换
不同彩色空间之间的转换。
1,CMY/CMYK颜色空间
青、品红、黄(CMY)(Cyan、Magenta、Yellow)彩色模型是彩色图象印刷行业使用的彩色空间,在彩色立方体中它们是红、绿、蓝的补色,称为减色基,而红、绿、蓝称为加色基。在CMY模型中,颜色是从白光中减去一定成分得到的。CMY坐标可以从RGB模型中得到:
C = 1 – R
M = 1 – G
Y = 1 – B
由于在印刷时CMY模型不可能产生真正的黑色,因此在印刷业中实际上使用的是CMYK彩色模型,K为第四种颜色,表示黑色(black ink):从CMY 到CMYK的转换:
K = min(C,M,Y)
C = C – K
M = M – K
Y = Y - K
[cpp] view plaincopy
//RGB转换为CMY
void rtRGB2CMY(RtScalar rgb, RtScalar&cmy)
{
cmy.val[0] = 255 - rgb.val[0]
cmy.val[1] = 255 - rgb.val[1]
cmy.val[2] = 255 - rgb.val[2]
}
//CMY转换为RGB
void rtCMY2RGB(RtScalar cmy, RtScalar&rgb)
{
rgb.val[0] = 255 - cmy.val[0]
rgb.val[1] = 255 - cmy.val[1]
rgb.val[2] = 255 - cmy.val[2]
}
//CMY转换为CMYK
void rtCMY2CMYK(RtScalar cmy, RtScalar&cmyk)
{
unsigned char temp = 0
temp = min(min(cmy.val[0], cmy.val[1]), cmy.val[2])
if (temp == 255 )
{
cmyk = rtScalar(0, 0, 0, 0)
}
else
{
cmyk.val[0] = cmy.val[0] - temp
cmyk.val[1] = cmy.val[1] - temp
cmyk.val[2] = cmy.val[2] - temp
}
cmyk.val[3] = temp
}
//CMYK转换为CMY
void rtCMYK2CMY(RtScalar cmyk, RtScalar&cmy)
{
cmy.val[0] = cmyk.val[0] + cmyk.val[3]
cmy.val[1] = cmyk.val[1] + cmyk.val[3]
cmy.val[2] = cmyk.val[2] + cmyk.val[3]
}
2,HSI颜色空间
HSI色彩空间是从人的视觉系统出发,用色调(Hue)、色饱和度(Saturation或Chroma)和亮度 (Intensity或Brightness)来描述色彩。HSI色彩空间可以用一个圆锥空间模型来描述。用这种 描述HIS色彩空间的圆锥模型相当复杂,但确能把色调、亮度和色饱和度的变化情形表现得很清楚。 通常把色调和饱和度通称为色度,用来表示颜色的类别与深浅程度。由于人的视觉对亮度的敏感 程度远强于对颜色浓淡的敏感程度,为了便于色彩处理和识别,人的视觉系统经常采用HSI色彩空间, 它比RGB色彩空间更符合人的视觉特性。在图像处理和计算机视觉中大量算法都可在HSI色彩空间中 方便地使用,它们可以分开处理而且是相互独立的。因此在HSI色彩空间可以大大简化图像分析 和处理的工作量。HSI色彩空间和RGB色彩空间只是同一物理量的不同表示法,因而它们之间存在着 转换关系。
HSI 色彩模型是从人的视觉系统出发,用 H 代表色相 (Hue)、S 代表饱和度 (Saturation) 和 I 代表亮度 (Intensity) 来描述色彩。饱和度与颜色的白光光量刚好成反比,它可以说是一个颜色鲜明与否的指标。因此如果我们在显示器上使用 HIS 模型来处理图像,将能得到较为逼真的效果。
色相 (Hue):指物体传导或反射的波长。更常见的是以颜色如红色,橘色或绿色来辨识,取 0 到 360 度的数值来衡量。
饱和度 (Saturation):又称色度,是指色彩的强度或纯度。饱和度代表灰色与色调的比例,并以 0% (灰色) 到 100% (完全饱和) 来衡量。
亮度 (Intensity):是指颜色的相对明暗度,通常以 0% (黑色) 到 100% (白色) 的百分比来衡量。
[cpp] view plaincopy
//RGB转换为HSI
void rtRGB2HSI(RtScalar rgb, RtScalar&hsi)
{
double maxv = 0, minv = 0, angle = 0
RtScalar temp
temp.val[0] = rgb.val[0] / 255.0
temp.val[1] = rgb.val[1] / 255.0
temp.val[2] = rgb.val[2] / 255.0
maxv = max(max(temp.val[0], temp.val[1]), temp.val[2])
minv = min(min(temp.val[0], temp.val[1]), temp.val[2])
hsi.val[2] = (temp.val[0] + temp.val[1] + temp.val[2]) / 3.0
hsi.val[1] = 1.0 - minv/hsi.val[2]
angle = (temp.val[0] + temp.val[0] - temp.val[1] - temp.val[2]) / 2.0 * sqrt((temp.val[0] - temp.val[1])*(temp.val[0] - temp.val[1]) + (temp.val[0] - temp.val[2])*(temp.val[1] - temp.val[2]))
if (temp.val[2] <= temp.val[1])
hsi.val[0] = angle / PI * 180.0
else
hsi.val[0] = (2 * PI - angle)/PI * 180.0
}
//HSI转换为RGB
void rtHSI2RGB(RtScalar hsi, RtScalar&rgb)
{
int flag = 0
double t1 = 0, t2 = 0, tv1 = 0, tv2 = 0, tv3 = 0
RtScalar temp
temp = hsi
temp.val[0] = hsi.val[0] * PI / 180.0
t1 = 2.0 * PI / 3.0
t2 = 2.0 * t1
if (temp.val[0] >= t1 &&temp.val[0] <t2)
{
flag = 1
temp.val[0] -= t1
}
if (temp.val[0] >= t2)
{
flag = 2
temp.val[0] -= t2
}
tv1 = (temp.val[2] * (1 - temp.val[1])) * 255.0
tv2 = (temp.val[2] * (1 + temp.val[1] * cos(temp.val[0]) / cos(PI / 3 - temp.val[0]))) * 255.0
tv3 = (3.0 * temp.val[2] - tv1 - tv2) * 255.0
switch (flag)
{
case 0
rgb = rtScalar(tv2, tv3, tv1, 0)
break
case 1
rgb = rtScalar(tv1, tv2, tv3, 0)
break
case 2
rgb = rtScalar(tv3, tv1, tv2, 0)
break
}
}
3,YUV颜色空间
在现代彩色电视系统中,通常采用三管彩色摄像机或彩色CCD(点耦合器件)摄像机,它把摄得的彩色图像 信号,经分色、分别放大校正得到RGB,再经过矩阵变换电路得到亮度信号Y和两个色差信号R-Y、B-Y, 最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这就是我们常用的YUV色彩空间。 采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V分量, 那么这样表示的图就是黑白灰度图。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机 的兼容问题,使黑白电视机也能接收彩色信号。根据美国国家电视制式委员会,NTSC制式的标准,当白光的 亮度用Y来表示时,它和红、绿、蓝三色光的关系可用如下式的方程描述:Y=0.3R+0.59G+0.11B 这就是常用 的亮度公式。色差U、V是由B-Y、R-Y按不同比例压缩而成的。如果要由YUV空间转化成RGB空间,只要进行 相反的逆运算即可。与YUV色彩空间类似的还有Lab色彩空间,它也是用亮度和色差来描述色彩分量,其中L为 亮度、a和b分别为各色差分量。
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
[cpp] view plaincopy
// RGB转换为YUV
void rtRGB2YUV(RtScalar rgb, RtScalar&yuv)
{
yuv.val[0] = 0.299*rgb.val[0] + 0.587*rgb.val[1] + 0.114*rgb.val[2]// y
yuv.val[1] = -0.147*rgb.val[0] - 0.289*rgb.val[1]+ 0.436*rgb.val[2]// u
yuv.val[2] = 0.615*rgb.val[0] - 0.515*rgb.val[1] - 0.1*rgb.val[2]// v
}
// YUV转换为RGB
void rtYUV2RGB(RtScalar yuv, RtScalar&rgb)
{
rgb.val[0] = yuv.val[0] + 1.14*yuv.val[2]// r
rgb.val[1] = yuv.val[0] - 0.39*yuv.val[1] - 0.58*yuv.val[2]
rgb.val[2] = yuv.val[0] + 2.03*yuv.val[1]
}
HSI、HSV、HSB有什么区别吗?
HSB又称HSV,没有区别。HSV与HSI的区别有:
1、提出者不同:
HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。HSI是指一个数字图像的模型,是美国色彩学家孟塞尔(H.A.Munsell)于1915年提出的。
2、参数取值不同:
HSV颜色模型中,色调H用角度度量取值范围为0°~360°,饱和度S取值范围为0%~100%,明度V取值范围为0%(黑)到100%(白)。HSI颜色模型双六棱锥表示中,色调H的角度范围为[0,2π],饱和度S是颜色空间任一点距I轴的距离。
扩展资料:
HSV的应用:
HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。
一般说来人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。
由于HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如Photoshop(在Photoshop中叫HSB)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用HSV来实现。
参考资料来源:百度百科-hsb
参考资料来源:百度百科-HSV
参考资料来源:百度百科-HSI
免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。
如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!
新励学网教育平台
海量全面 · 详细解读 · 快捷可靠
累积科普文章数:18,862,126篇