使用PYTHON将二维码转为无背景

生成的二维码往往有白色的底,把二维码放到窗户上或者海报上显得突兀,下面的代码可以将白色背景去掉。

import cv2
import numpy as np

# 读取图像
image = cv2.imread('image003.png')

# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 二值化
_, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# 创建一个透明背景的图像
transparent_image = np.zeros((*image.shape[:2], 4), dtype=np.uint8)

# 将黑色部分填充为黑色,白色部分设置为透明
for i in range(binary.shape[0]):
    for j in range(binary.shape[1]):
        if binary[i, j] == 0:  # 黑色部分
            transparent_image[i, j] = [0, 0, 0, 255]  # 黑色,完全不透明
        else:  # 白色部分
            transparent_image[i, j] = [0, 0, 0, 0]  # 完全透明

# 保存为带透明背景的 PNG 文件
cv2.imwrite('qrcode_no_background003.png', transparent_image)

print("生成无背景的二维码图片成功!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值