GIS数据共享:官方网站

自动化

当前位置:首页 > 大数据 > 自动化

Python智能查找图片中的二维码并替换为指定的照片

Python智能查找图片中的二维码并替换为指定的照片,替换的图片内容可以任意,也可以是二维码。

替换成本地图片

from PIL import Image
from pyzbar.pyzbar import decode, ZBarSymbol
# 打开原始图片和替换图片
original_image = Image.open('D:\\cache\\Desktop\\your_image.jpg')
replacement_image = Image.open('D:\\cache\\Desktop\\test.jpg')
# 识别并解码二维码
decoded_objects = decode(original_image, symbols=[ZBarSymbol.QRCODE])
# 遍历解码出的每个二维码
for obj in decoded_objects:
    # 获取二维码的位置
    (x, y, w, h) = obj.rect
   
    # 在原始图片中截取二维码区域
    qrcode_region = original_image.crop((x, y, x + w, y + h))
   
    # 将截取的二维码区域替换为替换图片
    replacement_region = replacement_image.crop((0, 0, w, h))
    original_image.paste(replacement_region, (x, y))
# 展示替换后的图片
original_image.save("D:\\cache\\Desktop\\test222.jpg")
# original_image.show()

替换成网络图片

from PIL import Image
from pyzbar.pyzbar import decode, ZBarSymbol
import requests
import io
# 打开原始图片和替换图片
original_image = Image.open('D:\\cache\\Desktop\\your_image.jpg')
# replacement_image = Image.open('D:\\cache\\Desktop\\test.jpg')
response = requests.get('https://qhftdx.cn/resource/Certificate/images/avatar-1.jpg')
replacement_image = Image.open(io.BytesIO(response.content))
# 识别并解码二维码
decoded_objects = decode(original_image, symbols=[ZBarSymbol.QRCODE])
# 遍历解码出的每个二维码
for obj in decoded_objects:
    # 获取二维码的位置
    (x, y, w, h) = obj.rect
   
    # 在原始图片中截取二维码区域
    qrcode_region = original_image.crop((x, y, x + w, y + h))
   
    # 将截取的二维码区域替换为替换图片
    replacement_region = replacement_image.crop((0, 0, w, h))
    original_image.paste(replacement_region, (x, y))
# 展示替换后的图片
original_image.save("D:\\cache\\Desktop\\test222.jpg")
# original_image.show()



扫码查看

相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

热门标签