【问题标题】:Add alpha channel to RGB image将 Alpha 通道添加到 RGB 图像
【发布时间】:2021-04-25 08:35:27
【问题描述】:

如何将 alpha 通道添加到 png 图像?正好我有使用grabcut功能的背景,现在我想将它添加到png图像中。

之后我想通过使用蒙版将 Alpha 通道设置为透明

img[np.all(img == [0, 0, 0, 255], axis=2)] = [0, 0, 0, 0]

【问题讨论】:

  • cv2.cvtColor(..., RGB2RGBA) 添加通道(稍后填充)或使用拆分和合并功能

标签: python image opencv image-processing computer-vision


【解决方案1】:

这里是填充通道方法。

import cv2 

# path to your own images
rgb = cv2.imread('images/5v63T_RGB.png')
alpha = cv2.imread('images/5v63T_Alpha.png')
 
rgba = cv2.cvtColor(rgb, cv2.COLOR_RGB2RGBA)
one_channel_alpha = cv2.cvtColor(alpha, cv2.COLOR_RGB2GRAY)
 
# fill alpha channel with image (needs to be same size)
rgba[:, :, 3] = one_channel_alpha

cv2.imshow("rgb", rgb)
cv2.imshow("alpha", one_channel_alpha)
cv2.imshow("rgba", rgba)
# you can't visualize alpha channel as transparency.
# the 32 bits PNG image, so let's save and use other view. 
cv2.imwrite("images/result_rgba.png", rgba)

cv2.waitKey(0)
cv2.destroyAllWindows()

你会得到这样的结果:

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多