1. 程式人生 > 程式設計 >python 給影象新增透明度(alpha通道)

python 給影象新增透明度(alpha通道)

我們常見的RGB影象通常只有R、G、B三個通道,在影象處理的過程中會遇到往往需要向影象中新增透明度資訊,如公司logo的設計,其輸出影象檔案就需要新增透明度,即需要在RGB三個通道的基礎上新增alpha通道資訊。這裡介紹兩種常見的向RGB影象中新增透明度的方法。

1、使用影象合成(blending)的方法

可參考上篇博文(python影象處理(十)——兩幅影象的合成一幅影象(blending two images) )

程式碼如下:

#-*- coding: UTF-8 -*- 
 
from PIL import Image
 
def addTransparency(img,factor = 0.7 ):
  img = img.convert('RGBA')
  img_blender = Image.new('RGBA',img.size,(0,0))
  img = Image.blend(img_blender,img,factor)
  return img
 
 
img = Image.open( "SMILEY.png ")
img = addTransparency(img,factor =0.7)

這裡給原圖的所有畫素都添加了一個常量(0.7)的透明度。

處理前後的效果如下:

python 給影象新增透明度(alpha通道)

2、使用Image物件的成員函式putalpha()直接新增

程式碼如下:

#-*- coding: UTF-8 -*- 
 
from PIL import Image
 
img = Image.open("SMILEY.png ")
img = img.convert('RGBA')
r,g,b,alpha = img.split()
alpha = alpha.point(lambda i: i>0 and 178)
img.putalpha(alpha)

處理前後的效果如下:

python 給影象新增透明度(alpha通道)

到此這篇關於python 給影象新增透明度(alpha通道)的文章就介紹到這了,更多相關python 影象新增透明度內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!