快速色彩平衡算法分析
(2)确定优化数量和最大最小值
输入优化率s,则优化数量为N×s,需要优化的点是排序后的矩阵的前N×s/2和后N×s/2。因此,Vmin、Vmax分别产生在N×s/2和N×(1-s/2)-1的点。
(3)优化像素
将颜色值小于Vmin的全部改为Vmin,将颜色值大于Vmax的全部改为Vmax。
(4)生成颜色值范围为[min,max]的新图像
假设新颜色值为f(x)=ax+b(x为旧颜色值),则有:
2.2 直方图算法
N个像素颜色值排序的时间复杂度是O(Nlog(N))。还有一种更高效的方法,即以直方图为基础的改编版本,最坏情况下其时间复杂度也仅为O(N)。
算法流程如下:
(1)建立一个关于像素颜色值的直方图
横向i表示颜色值,纵向表示≤i的像素数量q。
(2)确定优化数量和最大最小值
根据直方图表示的意义,柱的高度>N×s/2的最小颜色值i,即为Vmin;同理,柱的高度≤N×(1-s/2)的最大颜色值i,即为Vmax。如果s=0,那么i的最小值即为Vmin,i的最大值即为Vmax。
(3)优化像素
将颜色值小于Vmin的全部改为Vmin,将颜色值>Vmax的全部改为Vmax。

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码