【问题标题】:Adding an alpha channel to a Monochrome Image using Open CV Python使用 Open CV Python 将 Alpha 通道添加到单色图像
【发布时间】:2014-11-20 11:02:52
【问题描述】:

我一直在研究彩色图像 (RGB) 和带有 alpha 通道 (RGBA) 的彩色图像。从 RGBA 图像中读取 alpha 通道非常容易,我什至可以拆分图像的 4 个通道。有什么方法可以将 Alpha 通道添加到单色或灰度图像?另外,Alpha 通道可以单独添加到 R、G、B 通道吗?

我用来读取透明图像并分割通道的代码如下 -

import cv2
img = cv2.imread(image1_path,-1)

b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]
a = img[:,:,3]

img_merge = cv2.merge((b,g,r,a))
cv2.imshow("img_merge",img_merge)

cv2.imshow("r channel",r)
cv2.imshow("g channel",g)
cv2.imshow("b channel",b)
cv2.imshow("a channel",a)
cv2.waitKey(0)
cv2.destroyAllWindows()

我使用的图片是-

【问题讨论】:

    标签: python opencv numpy alpha


    【解决方案1】:

    您无法创建 2 通道“亮度-alpha”图像,但是您可以通过复制灰度通道并向其中添加 alpha 通道,仅使用灰度值将 1 通道灰度图像转换为 BGRA。设l为灰度图:

    img_3gray = cv2.merge((l,l,l,a))
    

    您也不能只将 Alpha 通道应用于图像的一个通道,但您可以像我们之前一样将图像的单个通道(例如蓝色)转换为灰度图像:

    img_3blue = cv2.merge((b,b,b,a))
    

    或者你可以只显示带有 alpha 的蓝色通道:

    img_bzz = cv2.merge((b,z,z,a))
    

    其中z 全为零。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 2013-05-16
      • 2023-04-07
      • 1970-01-01
      • 2017-01-23
      • 2016-02-09
      相关资源
      最近更新 更多