數字圖像處理編成入門筆記——第五章直方圖修正和彩色變換

5.1 反色

1.定義: 反色(invert)就是形成底片效果。

2.用途: 當黑色區域佔比較大區域時,可以利用反色,節省打印的墨。

3.做法:反色的實際含義是將RGB值反轉。

1)真彩圖。真彩圖不帶調色板,每個象素用3個字節,表示RGB三個分量。所以處理很簡單,把反轉後的RGB值寫入新圖即可。

2)帶調色板的彩色圖。只需要將調色板中的顏色反轉,形成新調色板,而位圖數據不用動,就能夠實現反轉。

3)灰度圖,是一種特殊的僞彩色圖,所以反轉的處理和上面講的一樣。

注:二值圖不一定是黑白圖,其實在調色板中是黑色和藍色兩種,但通常情況下是黑白圖。

 

5.2 彩色圖轉灰度圖

1.定義:YUV的顏色表示方法,在這種表示方法中,Y分量的物理含義就是亮度,它含了灰度圖的所有信息,只用Y分量就完全能夠表示出一幅灰度圖來。

我們利用上式,根據RGB的值求出Y值後,將RGB值都賦值成Y,就能表示出灰度圖來,這就是彩色圖轉灰度圖的原理。

 

2.做法:

1)真彩圖。根據RGB的值求出Y值後,將RGB值都賦值成Y,寫入新圖即可。由於改成灰度圖後,是必須帶一個256色的調色板,並把圖像中的內容改變爲對調色板的索引值。

2)彩色圖。我們只需要將調色板中的彩色變成灰度,形成新調色板,而位圖數據不用動,就可以了。

 

 

5.3 真彩圖轉256色圖

1.定義:真彩圖能表示2^24種顏色,就是要從中挑選出256種顏色。

 

2.做法:

1)準備長度爲4096的數組——用於存儲4096種顏色的信息;

2)統計這4096種顏色在圖中的使用頻率。對圖中的每一個象素,取RGB的最高四位,拼成一個12位的整數,該整數值對應的數組元素加1

3)排除數組值爲0的元素;

4)根據數組值從大到小排序;

5)取前256種顏色的數組信息,作爲調色板上的256種顏色;

6)將圖像內容數據改寫爲調色板的索引值。對圖中每個像素取R,G,B的高4位,拼成一個12位整數,到調色板中查找,如果存在,則填入對應的索引值;如果不存在,則利用最小平方誤差在調色板中查找替換顏色的索引值。

注:最小平方誤差,即:(red1 – red2^2+green1 – green2^2+blue1 – blue2^2中最小的一個。可以先對第256種以後的顏色計算替換顏色索引值,再更改圖像內容數據。

 

5.4 對比度擴展

1. 低對比度:即灰度都擠在一起,沒有拉開。假設有一幅圖,由於成象時光照不足,使得整幅圖偏暗(例如,灰度範圍從063);或者成象時光照過強,使得整幅圖偏亮(例如,灰度範圍從200255)

2. 灰度擴展:把你所感性趣的灰度範圍拉開,使得該範圍內的象素,亮的越亮,暗的越暗。

 

3. 做法:根據以下公式計算出新的灰度值:

  

gold表示原圖的灰度值,gnew表示gold經過對比度擴展後得到了新的灰度值。g1oldg2old表示原圖中要進行對比度擴展的範圍,g1newg2new表示對應的新值。

我們假設a=c,這樣,我們只要給出bg1oldg2old,就可以求出

a=(255-b(g2old-g1old))/(255-(g2old-g1old))

要注意的是,給出的三個參數必須滿:(1) b*(g2old-g1old)<=255(2) (g2old-g1old)<=255

 

5.5 削波

1. 定義:是對比度擴展的特例,即a=c=0

2. 做法:只要給出g1oldg2old兩個值,運用方程:b(g2old-g1old)=255計算出b值,並帶入上節的公式中求得新圖的灰度值即可。

 

5.6 閾值化

1. 定義:是削波的特例,即g1old=g2old

2. 做法:閾值就象個門檻,比它大就是白,比它小就是黑。

3. 作用:是一種常用的將圖像轉換成黑白二值圖的方法。

 

5.7 灰度窗口變換

1 .定義:灰度窗口變換是將某一區間的灰度級和其它部分(背景)分開。

2. 種類:

1)清除背景:把不在灰度窗口範圍內的象素都賦值爲0,在灰度窗口範圍內的象素都賦值爲255,這也能實現灰度圖的二值化;

2)保留背景:把不在灰度窗口範圍內的象素保留原灰度值,在灰度窗口範圍內的象素都賦值爲255

3. 應用領域:電影特技處理(例如:“藍幕”技術)。

 

5.8 灰度直方圖統計

1.定義:用來統計圖像灰度分佈情況。,圖中的橫座標表示灰度值,縱座標表示該灰度值出現的次數(頻率)

 

5.9 灰度直方圖均衡化

1. 直方圖修正,就是通過一個灰度映射函數Gnew=F(Gold),將原灰度直方圖改造成你所希望的直方圖。

2. 直方圖均衡化是一種最常用的直方圖修正。它是把給定圖象的直方圖分佈改造成均勻直方圖分佈。直觀地講,直方圖均衡化導致圖象的對比度增加。//??感覺像降低對比度。

3. 做法:

1用一個數組s記錄Pi分佈的概率,即灰度i出現的次數與總的點數之比;

2i1開始,令s[i]=s[i]+s[i-1]

3)用一個數組L記錄新的調色板索引值,即令L[i]=s[i]×(10-1)

4)計算新調色板的灰度值。

for (i = 0; i < EquaScale; i++) {

       Gray=(int)(i*255.0/(EquaScale-1));   //??超級不理解爲什麼是這樣算的。

… …

5)通過數組L結果,調整圖像實際數據內的調色板索引值。

 

  終於找到自己感興趣圖像處理出入了,嘻嘻,就是做電影特效處理!真的很帥也,有時間去找點這方面的資料看看,加油~

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