1.1 利用Opencv将背景为透明或半透明的图片背景转换为白色

原理: 将alpha通道值不为255的像素点 改成[255, 255, 255, 255],即白色。

 

Example:

  将某图片透明部分改为白色。

1. 改白色:

def alpha2white_opencv2(img):
    sp=img.shape
    width=sp[0]
    height=sp[1]
    for yh in range(height):
        for xw in range(width):
            color_d=img[xw,yh]
            if(color_d[3]!=255):                #找到alpha通道不為255的像素
                img[xw,yh]=[255, 255, 255, 255] #改變這個像素
    return img

 

2. Main

import cv2


full_file_path = 'full_file_path'
img = cv2.imread(full_file_path, cv2.IMREAD_UNCHANGED) # 第二个参数 保留Alpha 通道
img = alpha2white_opencv2(img)
cv2.imwrite(full_file_path+'.png', img)

 

 

 3. 效果

    原图:

    

 

     效果图:

    

 

posted @ 2019-09-26 11:19  Timzhong  阅读(4479)  评论(0编辑  收藏  举报