numpy批量操作不透明像素

numpy批量操作不透明像素

"""
  numpy批量操作不透明像素
  本程序是由于用pillow的putalpha设置透明度时会把所有像素的透明度一起设置,
  但这样的话,会引起图片底色变黑,这个程序主是修复这个问题的核心代码.
  
"""
import numpy as np
from PIL import Image

im = Image.open('bug2.png')
im = im.convert('RGBA')

array = np.array(im)    # 转换成阵列数组

a =  array[:,:,3:]      # 提取透明通道所有值
a = np.where(a>0,100,0) # 如果透明度大于0,则设为100,否则为0
array[:,:,3:] = a       # 把array的透明度全部改为a

print(array)

print(array.shape)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。