圖像處理--GIF和靜態圖疊加(四):誤差擴散(error diffusion)

上面說過了色彩量化,經過色彩量化,必然有部分點因爲無法精確的在調色板中找到自己原來使用的顏色而被迫使用和原來顏色最接近的顏色,這就產生了色差。如果用標準調色板,一般經過色彩量化後,圖片會形成大量色塊,即使用定製調色板,也會有少量色塊。爲了進一步提升圖片質量,需要引入誤差擴散。

誤差擴散就是將色彩深度降低時將像素顏色的變化誤差擴散開去這使得肉眼在觀察圖片的時候相鄰的像素點集合整體的誤差變小。

             
    A M      
  N O P      
             

設像素矩陣中點A的座標爲(x,y),則M(x+1,y) N(x-1,y+1)O(x,y+1)P(x+1,y+1)

進行色彩量化前A的Rgb值爲Ra1,Ga1,Ba1

色彩量化後A的Rgb值爲Ra2,Ga2,Ba2

則RGB的色差爲ΔR、ΔG、ΔB

按照M:N:O:P = 7:3:5:1的比例,將A點的RGB色彩分散出去,則

Rm = 7/16 * ΔR+RmOld Gm = 7/16 * ΔG+GmOldBm = 7/16 * ΔB+BmOld

Rn = 3/16 * ΔR+RnOldGn = 3/16 * ΔG+GnOldBn = 3/16 * ΔB+BnOld

Ro = 5/16 * ΔRRoOldGo = 5/16 * ΔG+GoOldBo = 5/16 * ΔB+BoOld

Rp = 1/16 * ΔRRpOldGp = 1/16 * ΔG+GpOldBp = 1/16 * ΔB+BpOld

然後在依次向後計算後續點的誤差,直到遍歷像素矩陣結束


這樣就把每個點的誤差按照一定比例分給它後面和下面的若干點,使得誤差在點的周圍均勻分佈並向後綿延,減少色差。


7:3:5:1只是衆多可選的擴散比例中的一個,還有其他多種比例。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章