數字圖像入門 圖像處理與透明層
夏昆岡 于 2011.08.20 13:10:50 | 源自:www.soomal.com | 版權:原創 | 平均/總評分:09.60/48

將多張圖像合成一張,這種操作非常常見,例如將某人的照片放到另一個場景當中,網路上流行的換臉等等,哪怕就是個圖片加個Logo也是圖像合成的一種,這些圖像是如何合成的呢?我們用一個實例來說明。

  • 我們用Soomal的標志作為前景圖像。

  • 使用一張浩瀚星系的模擬圖作為背景圖像。

  • 合成得到的結果就是Soomal的標志出現星系背景的圖片之上。為什么會出現這樣的結果呢?

    在合成時,有一個非常重要的元素會被忽略,它就是透明層,也叫蒙板、Mask層、Alpha層等等,它可以單獨作為一個圖像存在,也可以作為一個“層”包含在圖像當中,例如PNG、TGA等格式就支援存儲透明層。它如何存在并不重要,重要的是它會如何影響合成的結果,有一點很重要的是,透明層一定是灰度的圖像。

  • 參與此例的合成的透明層如上圖,黑底,白色的Logo,與之對應合成關系是,黑色部分為透明,白色部分為不透明。得到上面的結果就很容易理解了。如果我們把透明層的黑白關系對調一下會怎樣?

  • 得到的結果就是這樣,星系背景圖案只會在Logo的區域內出現,而且Logo原有的圖案資訊丟失。

  • 如果把透明層的Logo部分修改成漸變會出現什么樣的變化?

  • 結果是Soomal的標志產生了透明漸變,并合成到背景當中。

    實例演示到這里,透明層與合成結果的關系應該比較清晰了。前景圖像的是如何合成到背景當中,其實由透明層決定。

    透明層為灰度圖像,深淺變化范圍為0-255,當透明層的灰度值為0,透明率為100%,中度灰[灰度值127]時為50%,灰度值為255時[白色],透明度為0%。

    知道透明度后,該如何進行運算?

    • 前景RGB(R x 透明度,G x 透明度,Bx透明度)+背景RGB(R x(100%-透明度),G x(100%-透明度,B x(100%-透明度)=合成后的新畫素的顏色值

    這種計算可以產生上面實例中的那一組效果。當然,并不一定都是這樣,修改合成時的算法,還能衍生出其他新的合成效果。

  • 例如這幾種效果等等,這種結果產生不一定是加法運算后的結果。其實,具體算法怎么樣,對于非程式員來說,并不重要,對于普通用戶,只要記住一點,在圖像合成中,透明層非常重要。當理解了透明層的作用,就能夠知道換臉、換背景等等常見處理的基本原理。

    請評分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    03
    我個人認為“蒙板”最貼切。
    發表于2012.02.16 17:57:22
    19
    119.059.193.***
    119.059.193.***
    發表于2011.08.24 23:32:01
    18
    03
    沒錯,沖水啦
    發表于2011.08.24 23:01:37
    17
    蛋師為人掃盲,功德無量。身為程式員,直到今天才真的搞清Alpha通道是這回事,慚愧慚愧。
    發表于2011.08.23 17:03:20
    16
    03
    發表于2011.08.21 21:52:05
    15
    03
    發表于2011.08.21 20:48:54
    14
    180.118.160.***
    180.118.160.***
    發表于2011.08.21 13:18:28
    13
    03
    發表于2011.08.21 13:17:56
    12
    03
    發表于2011.08.21 12:25:34
    11
    061.236.219.***
    061.236.219.***
    發表于2011.08.21 09:22:23
    10
    03
    發表于2011.08.20 23:31:49
    9
    183.031.089.***
    183.031.089.***
    發表于2011.08.20 22:35:15
    8
    10
    發表于2011.08.20 15:39:48
    6
    03
    改如何進行運算,“該”如何進行運算
    發表于2011.08.20 14:49:42
    5
    110.090.066.***
    110.090.066.***
    發表于2011.08.20 14:16:43
    3
    03
    發表于2011.08.20 13:19:31
    2
    03
    發表于2011.08.20 13:12:40
    1
    提示
    本貼不可匿名回復,回復等級為:1 ,您現在正處在潛水狀態
    回復
    驗證碼
    7366 為防止廣告機貼垃圾,不得已而為之
    表情
    正文
    京ICP備11010137號 京ICP證110276號 京公網安備110114000469號