新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 快速色彩平衡算法分析

快速色彩平衡算法分析

作者:时间:2011-07-12来源:网络收藏

摘 要: 在图像处理中,为了提高传统算法的计算速度、降低算法的复杂度,提出了一种全新的快速算法,即过滤少量极端像素颜色值并按比例提高剩余的非极端像素颜色值的方法。通过对多幅图片的处理,相对于传统的方法,该算法得到了更好的效果、具有更好的性能。

本文引用地址:http://www.eepw.com.cn/article/187439.htm

  在图像采集的过程中,由于不同光照下获取的图片颜色值差异较大,对图片的显示及图片的分析产生困难。因此,在摄影和图像处理中,不少学者提出了通过色彩平衡来解决这个难点。色彩平衡是一种通过全局调整图像的RGB颜色信息使得图片中出现色偏的颜色正常化的方法。WANG[4]提出了白平衡算法,即通过调整R、G、B三个分量的值使之达到平衡,然后按照这个调整比例对整幅图像进行调整,达到色彩平衡的效果。LEE Hsien Che[5]提出的算法原理是在CCD或CMOS矩阵表示的原RGB颜色值下将其转换为更加标准的感性颜色。

  本文提出了一种新型的快速色彩平衡算法,首先取一个最大值Vmax和一个最小值Vmin,把小于Vmin的值全部改成Vmin,把大于Vmax的值全部改成Vmax。执行过程中,首先需要优化一些极端值,优化的极端值数量由输入的优化率s决定;再根据s为整幅图像分别确定一个合适的最大值Vmax和最小值Vmin,颜色值在[Vmin,Vmax]范围外的像素即为极端像素,将极端像素的值改在[Vmin,Vmax]范围内,最后再根据Vmin、Vmax和s按比例来提高非极端像素的颜色值。

  1 新型色彩平衡算法

  本文中算法的理论基础是在RGB模式中颜色值越高越接近白色,颜色值越低越接近黑色。如果图像是在黑暗中拍摄的,其像素最高的颜色值一定小于255,则通过扩大颜色值的范围,图像就会变亮。例如,闪电的主要颜色是R和G,那么通过色彩平衡就要增强B,这样会减少一些微黄色色调,图像会更亮一些,不但增加了画面的和谐性,而且使图像看起来更自然。

  算法算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

  综上所述,本算法的目的是增加R、G、B三个颜色通道的颜色值,并使它们的范围保持在[0,255]。最简单的实现方式就是给每个通道ax+b的颜色值。其中,a、b是比例因子,需要通过计算得到,x是初始颜色值,ax+b必须在[0,255]的范围内。

  在实际图像中经常会遇到颜色值为0或255的像素。实际需要优化的点或许很多,或许只有一个,不好确定确切的数目,所以必须用优化率来决定究竟要改变多少个点的值。假设一幅图像上有N个像素点,优化率为s,则需要优化N×s个点,并使0N×s255。优化率的选取不能太大,因为需要优化的点通常只占很少一部分。

  2 新型色彩平衡算法实现过程

  本文介绍了排序和直方图两种改进的算法来实现色彩平衡的过程,下面阐述两种算法的实现和实用性。

  2.1 排序算法

  算法流程如下:

  (1)排序

  排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。

  将N个像素存入矩阵,并将它们按颜色值大小从低到高进行排序(排序之前要先将矩阵备份,因为以后还要用到)。


上一页 1 2 3 下一页

评论


技术专区

关闭