前天的一篇文章中,提到了萌颜sdk中关于人脸美白的算法,其中用到了一项技术,但是由于篇幅的原因并没有给大家进行非常详细地介绍。今天就给大家补充一下,在进行人脸美白前,所用到的图像色彩检测。
要介绍图像色彩检测,需要首先明确图像的颜色空间是什么意思。
一、图像颜色空间
在计算机视觉和图像处理领域,颜色空间指的是组织色彩的特定方式,是进行颜色信息研究的理论基础,它将颜色从人们的主观感受量化为具体的表达,为用计算机来记录和表现颜色提供了有力的依据。
一幅图像可以用不同的色彩空间表示,有很多很有用的不同的颜色空间。其中,一些常见的颜色空间有RGB、HSI、HSV和HSB等。不同的颜色空间有不同的优点。而对于图像颜色空间描述,需要从色调、色相、饱和度、对比度和亮度入手。
事实上,萌颜sdk中的美白算法与上述描述图像的因素相关度很高,尤其在颜色渲染效果展示中,而在美颜算法中,一般要在RGB或者HSV空间里对图像进行修改和处理。
二、RGB和HSV色彩空间基础知识
OpenCV直接读取的图片都是RGB颜色模型格式。但是HSV模型更符合人们描述和解释颜色的格式,更加自然且非常直观。RGB就是指red、green和blue,图像主要由这3个通道构成。其中Gray只有灰度值,所以需要1个通道。HSV即Hue(色调)、Saturation(饱和度)和Value(亮度)需要3个通道。在OpenCV中,H的取值范围为[0,180],当8bit存储时:
饱和度(S:saturation)取值范围为[0,255],值越大,颜色越饱和。
亮度(V:value)取值范围为[0,255]。
H分量基本能表示一个物体的颜色。但是S和V的取值也要在一定范围内。S代表的是H所表示的那个颜色和白色的混合程度,也就是说,S越小颜色越发白,也就是越浅。V代表的是H所表示的颜色和黑色的混合程度,也就是说,V越小颜色越发黑。经过实验,识别蓝色的取值H为100~140,S和V则为90~255。
以上就是萌颜sdk中,关于图像色彩检测的部分知识,由于文章篇幅的原因,剩下的将会在下篇文章中继续讲解,如果您对萌颜sdk开发感兴趣,欢迎咨询官方客服。
声明:本文由美狐原创,未经允许禁止转载,谢谢合作。