opencv imread读取alpha通道


在使用opencv的python接口读取jpg,相对jpg图片透明处理时,需要处理其alpha通道

可以用时imread接口

origin_image = cv2.imread(image_path, cv2.CV_LOAD_IMAGE_UNCHANGED)

而imread的第二个参数flag代表的是是否读取alpha通道


但是有个一问题是jpg不存在alpha通道,这样后续操作会出现问题,解决办法的给读取出来的数组增加一个alpha的维度

origin_image = cv2.imread(image_path, cv2.CV_LOAD_IMAGE_UNCHANGED)
        if origin_image.ndim != 4:
            origin_image2 = self.__addAlpha(origin_image) #添加alpha
            origin_image2.resize((90,260,4))

记住需要对矩阵重写resize一次

    #读取jpg,添加alpha通道
    def __addAlpha(self, image):
        temp_image = []
        for i in xrange(image.shape[0]):
            for j in xrange(image.shape[1]):
                    temp = np.append(image[i][j], 255)
                    temp_image.append(temp)
        return np.array(temp_image)

这样就可以为读取出来的图片举证增加一个维度,也就是alpha通道的维度



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值