快速色彩平衡算法分析
?。?)確定優(yōu)化數量和最大最小值
輸入優(yōu)化率s,則優(yōu)化數量為N×s,需要優(yōu)化的點是排序后的矩陣的前N×s/2和后N×s/2。因此,Vmin、Vmax分別產生在N×s/2和N×(1-s/2)-1的點。
(3)優(yōu)化像素
將顏色值小于Vmin的全部改為Vmin,將顏色值大于Vmax的全部改為Vmax。
?。?)生成顏色值范圍為[min,max]的新圖像
假設新顏色值為f(x)=ax+b(x為舊顏色值),則有:
2.2 直方圖算法
N個像素顏色值排序的時間復雜度是O(Nlog(N))。還有一種更高效的方法,即以直方圖為基礎的改編版本,最壞情況下其時間復雜度也僅為O(N)。
算法流程如下:
?。?)建立一個關于像素顏色值的直方圖
橫向i表示顏色值,縱向表示≤i的像素數量q。
?。?)確定優(yōu)化數量和最大最小值
根據直方圖表示的意義,柱的高度>N×s/2的最小顏色值i,即為Vmin;同理,柱的高度≤N×(1-s/2)的最大顏色值i,即為Vmax。如果s=0,那么i的最小值即為Vmin,i的最大值即為Vmax。
?。?)優(yōu)化像素
將顏色值小于Vmin的全部改為Vmin,將顏色值>Vmax的全部改為Vmax。
評論