用python做二维码,基于python的二维码识别

  用python做二维码,基于python的二维码识别

  目录1。案例介绍2。准备3。详细设计3.1二维码的生成3.2二维码的分析4。代码摘要5。运行结果后记。

  1.案例介绍我们使用Python提供的二维码库和pyzbar库来制作和解码二维码。

  2.准备二维码库。枕头图书馆。皮兹巴图书馆。

  3.详细设计

  3.1生成二维码核心码:

  qr=二维码。二维码()

  qr.add_data(数据)

  qr.make(fit=True)

  IMG=QR . make _ image(fill _ color= black ,back _ color= white )我们使用二维码提供的add_data、make、make_imge方法实现加载数据、生成二维码对象、将二维码对象保存到图片的功能。

  3.2解析二维码的核心代码:

  decode _ data=pyzbar . decode(image . open(file path),symbols=[pyzbar . zbar symbol . QR code]][0]。data.decode (UTF-8 )我们使用pyzbar提供的解码方法读取二维码图片并解码。

  pyz bar . decode(image . open(file path),symbols=[pyzbar。ZBarSymbol .二维码])

  [Decoded(data=b abcdefghijkl 123 ,type=QRCODE ,rect=Rect(left=4,top=4,width=84,height=84),polygon=[Point(x=4,y=4),Point(x=4,y=88),Point(x=88,y=88),Point(x=88,y=4)]

  4.代码摘要#编码:utf-8

  # !/usr/bin/python

  @File : QRcode.py

  @作者:家明

  @修改时间:2020/1/13 19:55

  @联系人:

  @版本:1.0

  @描述:生成传统二维码

  传统二维码分析

  导入二维码

  从PIL进口图片

  从皮兹巴进口皮兹巴

  file path= C:\ \ Users \ \ jiaming \ \ Desktop \ \ QR code . png

  def create_QRcode(data= ):

  :返回:生成的二维码路径

  打印(生成传统二维码.)

  #用数据填充二维码

  版本:取值1~40的整数,控制二维码的大小(最小值为1,为1212矩阵)。如果您希望程序自动确定,只需将值设置为None并使用fit参数。

  Error_correction:控制二维码的纠错功能。可以取以下四个常数。

  ERROR_CORRECT_L:大约7%或更少的错误可以被纠正。

  ERROR_CORRECT_M(默认值):大约15%或更少的错误可以被纠正。

  ROR_CORRECT_H:大约30%或更少的错误可以被纠正。

  ERROR_CORRECT_Q:可以纠正高达25%的错误。

  Box_size:控制二维码中每个小网格包含的像素数。

  边框:控制边框包含的网格数(二维码与图片边界的距离)(默认值为4,是相关标准规定的最小值)。

  qr=二维码。二维码(

  error _ correction=QR code . constants . error _ CORRECT _ L,

  box_size=4,

  border=1,

  )#格式化图片

  qr.add_data(数据)

  qr.make(fit=True)

  #生成二维码

  img=QR . make _ image(fill _ color= black ,back_color=white )

  img.save(文件路径,dpi=(254.0,254.0))

  打印(保存路径:,文件路径)

  返回文件路径

  def decode_QRcode(filePath= ):

  :param filePath:要识别的二维码的路径。

  :return:打印出识别的结果。

  decode _ data=pyzbar . decode(image . open(file path),symbols=[

  皮兹巴。zbar symbol . QR code])[0]. data . decode( utf-8 )

  Print(解码数据:,decode_data)

  返回decode_data

  if __name__==__main__ :

  create _ QR Code( abcdefghijkl 123 )#传入的参数是要编码的数据。

  Decode_QRcode(filePath) #传入的参数是要识别的二维码。

  5.运行结果

  后记以上是我们今天的内容。我们可以尝试用交互界面来改进我们的案例。小黑盒看起来还是很丑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: