针对拍摄的食物照片的后处理需求,现有方法不适用的问题,提出了一种食物图像的色彩增强算法。该算法采用HSI和HSV两种颜色空间联合处理,利用设计的饱和度矫正曲线和符合食物色彩特征的色调参数曲线做加权矫正,以及设计的亮度矫正曲线处理。该算法针对于食物图像的色彩增强,弥补了食物色彩增强算法方面的空缺。实验结果表明,该方法可以大大提高食物图像的主客观质量。本文提出的食物图像的色彩增强算法,针对食物色彩特征进行设计,采用两种颜色空间联合处理,得到适用于食物图像的增强效果。<br/>Because the conventional methods are not suitable for the post-processing of food image, we pro-pose a color enhancement algorithm in food image. The algorithm is processed in HSI and HSV color space, using designed correction curve of color saturation with parameter curve of hue, which corresponds to the feature of food image, and uses designed correction curve of brightness. This algorithm is targeted at color enhancement of food image and fills the blank of color enhancement algorithms in food image. Experimental results show that the algorithm can greatly improve the subjective and objective quality of food image. The color enhancement algorithm in food image that we proposed is designed with the characteristics of food image, combined with the use of two color spaces, to get an enhancement result which is suitable for food image.
张燕丽1,杨荣坚2
1广东农工商职业技术学院计算机系,广东 广州
2西安电子科技大学通信工程学院,陕西 西安
Email: Zhangyanli@gdaib.edu.cn, yrjmail@qq.com
收稿日期:2015年6月23日;录用日期:2015年7月6日;发布日期:2015年7月14日
针对拍摄的食物照片的后处理需求,现有方法不适用的问题,提出了一种食物图像的色彩增强算法。该算法采用HSI和HSV两种颜色空间联合处理,利用设计的饱和度矫正曲线和符合食物色彩特征的色调参数曲线做加权矫正,以及设计的亮度矫正曲线处理。该算法针对于食物图像的色彩增强,弥补了食物色彩增强算法方面的空缺。实验结果表明,该方法可以大大提高食物图像的主客观质量。本文提出的食物图像的色彩增强算法,针对食物色彩特征进行设计,采用两种颜色空间联合处理,得到适用于食物图像的增强效果。
关键词 :图像处理,食物色彩增强,颜色空间,主观质量
随着智能手机的普及,越来越多人拍照并上传美食照片分享到网络,因而对食物拍照的效果很大程度上影响了手机用户的体验。由于摄像头和液晶显示器等硬件性能上的一些局限性,使其在某些条件或环境下采集的图像光线昏暗,颜色不够鲜艳或亮丽。此时如果能通过相应的食物色彩增强算法进行后处理,可以很大程度上提高照片的质量,获得更好的画面感受。因此,针对于食物色彩增强的算法,有一定的研究意义。
近年来,色彩增强算法处于不断进步和发展中。S. K. Naik和C. A. Murthy提出了一种色度保持的彩色图像增强算法,对图像的R、G、B进行线性尺度变换 [
现有的色彩增强算法都能取得不错的效果,但是没有区分增强内容,对于食物色彩没有针对性。同时,单纯在HSI或HSV空间的色彩增强效果往往达不到用户对拍摄的食物照片鲜艳亮丽的需求。Gamma曲线的特定的凸函数形状,无法贴切描述色彩或亮度在各取值点所应该的增强量。以及有些方法复杂度较高,不利于移动智能设备的后处理。为此,本文提出了采用HSI和HSV两种色彩空间联合处理,利用设计的饱和度矫正曲线和符合食物色彩特征的色调参数曲线做加权矫正,以及设计的亮度矫正曲线处理的食物色彩增强算法。该算法针对于食物图像的色彩增强,一定程度上解决了现有方法存在的问题。
1) HSI颜色空间根据人的视觉系统设计,采用色调(Hue)、饱和度(Saturation)以及亮度(Intensity)来表示颜色 [
从RGB颜色空间到HSI颜色空间的转换公式为
从HSI颜色空间到RGB颜色空间的转换公式为
2) HSV颜色空间同样也使用一个圆锥模型来描述,采用色调、饱和度以及明度来表示颜色 [
从HSV颜色空间到RGB颜色空间的转换公式为
由HSI和HSV颜色空间能将色彩和亮度很好的区分出来的特性,故采用将RGB转换到HSI或HSV空间上对色彩和亮度处理,效果直观且避免严重的色彩失真。
尽管HSI和HSV颜色空间,都将色调、饱和度和亮度分离为三个独立的分量,S分量一样表示饱和度,但HSI和HSV模型的设计上是有一定区别的。因此,在HSI颜色空间,对饱和度的增强,会使图像色彩变得更加亮丽,但是色彩的浓度不会有明显的增加。而在HSV颜色空间,对饱和度的增强,能使色彩的浓度明显增加,但是图像会相对暗淡,画面效果不好。鉴于HSI和HSV模型中饱和度的特性,本文算法的第一点是采用联合两种颜色空间增强的方法,以达到既能使色彩浓度增加,又使色彩亮丽的效果。
本文算法的第二点是饱和度矫正曲线的设计。Gamma曲线的特定凸函数形状无法贴切描述饱和度各取值点的增强量,因此本文根据饱和度取值的特性,设计相应的矫正曲线。因为联合HSI和HSV两个颜色空间共同处理,所以两个颜色空间都有各自的饱和度矫正曲线。
如前所述,S分量表示的是饱和度。在HSI、HSV空间中对色彩进行增强可以很方便地直接增大饱和度。S的取值归一化为0至1区间,取值越小,饱和度越小,取值越大,则饱和度越大。在大多数图像中,当饱和度取值小于一定值时,它的色调并不确定,对其进行饱和度增强容易造成色彩失真。因此,对于饱和度低于一定值的像素,不对其增强或增强很小。对于高于一定值的部分,根据颜色空间和食物色彩的特性设定。HSI空间,S分量增大使色彩亮丽度提高,HSV空间,S分量增大使色彩浓度加深,食物色彩增强量在这两者的组合间调整。根据上述原则,多次试验得到,设置HSI颜色空间下的饱和度矫正曲线定点
和HSV颜色空间的饱和度矫正曲线定点
将这些定点进行线性插值,分别得到的HSI颜色空间的饱和度矫正曲线和HSV颜色空间的饱和度矫正曲线,能够取得较为理想的结果。插值后得到的曲线如图1所示。
上述设置的这两个矫正曲线并不是最终的,还需要根据像素点的色调H分量所获得的色调系数
其中,
HSI和HSV空间中的另一个重要的分量为色调H分量。本文算法的第三点是设计符合食物色彩特征的色调系数曲线,它为上一步饱和度矫正曲线提供参数。因为联合HSI和HSV两个颜色空间共同处理,所以两个颜色空间也都有各自的色调系数曲线。
色调系数的作用是在对图像的像素点进行饱和度增强时,可以根据像素点的色调值,选择性地对相应色调的像素点进行不同程度的增强。色调系数曲线以色调H分量为输入,输出一个色调系数
根据颜色空间和食物色彩的特性,设定色调系数曲线的输入输出映射关系。食物色彩增中,强调主要食物特征色彩,如红绿黄等色彩,而较少地提升其它非主要食物特征色彩,如蓝紫等色彩。值得注意的是,过度地强调黄色,容易使图像发生泛黄的明显色偏,因此黄色的色调系数不能太大。H取值从0至1是色调由红黄蓝紫再到红的变化。根据上述特性设定H和
和HSV色调系数曲线定点
将这些定点进行线性插值,分别得到的HSI颜色空间的色调系数曲线和HSV颜色空间的色调系数曲线,能够较有效地区分食物色彩色调。插值后得到的曲线如图2所示。色调系数
其中,
图1. 饱和度矫正曲线
图2. 色调系数曲线
本文算法的第四点是亮度矫正,亮度在食物色彩增强中也起至关重要作用。
从HSI和HSV颜色空间分量出来的独立的I或V分量控制着亮度值,理论上改变亮度值并不会改变色彩,这一特性使我们可以很好地对彩色图像进行亮度的调整。
本文中的亮度调整分为两种,第一种是对亮度过暗的图像进行增亮的处理,对亮度正常的图像不做此处理。第二种是是对所有的图像都进行的亮度调整,它的目的是在一定程度上提高对比度。
第一种过暗亮度调整,首先要对亮度判断,判断的标准包括亮度的平均值,以及亮度直方图最高值区域所占的百分比,仅当两者都小于设定的阈值时,才进行下一步处理,同时,会得到两个拉伸参数A,B。在下一步的拉伸中,对亮度直方图根据A,B值进行拉伸。最终提升了平均亮度。其中,直方图拉伸的公式为:
第二种亮度矫正,是根据已预先设定好的亮度矫正曲线,对亮度进行矫正。这个矫正曲线的变化很小,不会引起整体亮度平均值的大变化,但可以一定程度上地提高对比度,达到较好的显示效果。本文中也不采用Gamma曲线,而是采用分段曲线矫正。根据上述原则,多次试验得到,设置亮度矫正曲线定点
将这些定点进行线性插值,得到的亮度矫正曲线,能够取得较为理想的对比度提高效果。插值后得到的曲线如图3所示。亮度矫正的公式为:
其中,
本文算法具体的流程如图4所示。输入的食物图像分为在HSI空间和HSV空间两部分的处理。在HSI空间中,转换得到的色调H分量经过色调系数曲线处理,获得色调参数
图3. 亮度矫正曲线
图4. 流程图
图5是一幅菜品的增强效果分析图。其中,(a)为原图,(b)为饱和度增加百分比灰度图,(c)为亮度增加百分比灰度图。
饱和度增加百分比灰度图是指增强后图像比原图的饱和度增加的百分值归一化为[0,255]再取对数后,直观表示的灰度图像。其公式为
亮度增加百分比灰度图是指增强后图像比原图的亮度增加的百分值归一化为[0,255]再取对数后,直观表示的灰度图像。其公式为
图6是一幅草莓的增强对比图。其中,(a)为原图,(b)为仅在HSI空间增强的效果,(c)为仅在HSV空间增强的效果,(d)为在两种颜色空间共同增强的结果。可以看到,(b)相对于(a),草莓的红色更加的亮丽。(c)相对于(a),草莓的色彩更加浓厚,但相对暗淡。而(d)则兼具了(b)和(c)两种增强效果的特点,能够获得亮丽和浓度都提升的结果。同时可以看到,图像的对比度有一定的提高,这就是第二种亮度增强方法所带来的对比度提高。增强后整幅图像的视觉效果比原图好很多。
图7是一幅过暗亮度提升对比图。其中,(a)为原图,(b)为增强后的效果。可以看到,过暗亮度的图片触发了第一种亮度增强方法,使整体的亮度调整到了一个合适的水平,视觉效果得到改善。
下面本文选取图8所示的5幅食物图片,对其进行客观参数测评。
1) 饱和度提升。饱和度参数为计算在HSV颜色空间下,平均S分量的值。表1为测试的到的图像饱和度参数。
可以看到,本文算法处理后,此参数平均增加7.58%。图像的色彩浓度得到提升。
2) 对比度提升。对比度通俗地讲就是图像亮暗的对比程度,也就是从黑到白的渐变层次。对比度越高,从黑到白的渐变层次就越多,从而图像的细节和色彩表现也就越丰富。对比度的计算公式如下所示:
可以看到,本文算法处理后,对比度平均也增加了2.43%,图像的对比度有一定的提高。
本文提出的食物图像的色彩增强的算法,采用HSI和HSV两种色彩空间联合处理,利用设计的饱和度矫正曲线和符合食物色彩特征的色调参数曲线做加权矫正,以及设计的亮度矫正曲线处理。实验效果表明,增强后图像色彩浓厚且亮丽,不易发生色偏,亮度对比度良好,食物特征明显增强,算法复杂度较低,一定程度解决的现有方法的不足,弥补了食物色彩增强算法方面的空缺。
图5. 增强效果分析图
图6. 增强效果对比图
图7. 过暗亮度提升对比图
图8. 客观参数测评图像
编号 | 原图 | 增强后图 | 增加比例 |
---|---|---|---|
1 | 0.477769 | 0.518247 | 8.47% |
2 | 0.611117 | 0.661077 | 8.18% |
3 | 0.293999 | 0.325028 | 10.55% |
4 | 0.579663 | 0.616161 | 6.30% |
5 | 0.38083 | 0.400514 | 5.17% |
平均 | 0.468676 | 0.504205 | 7.58% |
表1. 图像饱和度
编号 | 原图 | 增强后图 | 增加比例 |
---|---|---|---|
1 | 54.21873 | 56.46385 | 4.14% |
2 | 41.42133 | 43.7209 | 5.55% |
3 | 64.11898 | 64.28288 | 0.26% |
4 | 48.78968 | 48.94988 | 0.33% |
5 | 50.10228 | 51.51724 | 2.82% |
平均 | 51.7302 | 52.98695 | 2.43% |
表2. 图像对比度
国家自然科学基金(No. 61372068)。
张燕丽,杨荣坚. 食物图像的色彩增强算法研究与实现Research and Implementation of Color Enhancement Algorithm in Food Image[J]. 图像与信号处理, 2015, 04(03): 36-46. http://dx.doi.org/10.12677/JISP.2015.43005