python opencv 为图片添加alpha通道并设置透明,判断是否存在alpha通道

 读取图片
使用函数cv2.imread(filepath,flags)读入一副图片
filepath:要读入图片的完整路径
flags:读入图片的标志
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
cv2.IMREAD_GRAYSCALE:读入灰度图片
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道

import numpy as np

import cv2

img = cv2.imread(‘1.jpg’,cv2.IMREAD_GRAYSCALE)

opencv 读取图片后通道为BGR的格式,这里做个示范将图片的左半边设置为透明效果。

复制代码
import cv2
import numpy as np
 
img = cv2.imread("/home/shuai/Desktop/lena.jpg")
 
b_channel, g_channel, r_channel = cv2.split(img)
 
alpha_channel = np.ones(b_channel.shape, dtype=b_channel.dtype) * 255
# 最小值为0
alpha_channel[:, :int(b_channel.shape[0] / 2)] = 100
 
img_BGRA = cv2.merge((b_channel, g_channel, r_channel, alpha_channel))
 
cv2.imwrite("lena.png", img_BGRA)
复制代码

 

import cv2
import numpy as np
def get_channel():
    for fil in os.listdir(r'C:\Users\83815\Desktop\LR'):
        file=os.path.join(r'C:\Users\83815\Desktop\\LR',fil)
        img=cv2.imread(file,cv2.IMREAD_UNCHANGED)
        print(img.shape)

 

(120, 125, 3)输出为3表示没有alpha通道,如果是4表示有alpha通道

 

posted on   星河赵  阅读(2593)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示