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

时间:2024-03-06 19:30:05

原理: 将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. 效果

    原图:

    

 

     效果图: