Dragon
  非凡社群营销服务平台专注于社群管理,社群裂变,多群同步直播,企业微信SCRM系统。欢迎合作咨询;客服微信11112751

非凡微信社群营销服务平台 www.haqsl.com 我们提供【社群管理裂变】【自动建群】【多群转播】【活码系统】【小程序开发】【公众号开发】【各类商城 SAAS】一站式服务,各类功能提供免费体验,满意付款,如您还有其他疑问请您添加企鹅/微信 1003312430 方便咨询哦。
非凡社群助手------微信活码系统演示(客户活码二维码累计扫描量一千万+)
活码系统介绍:
二维码图案不变,内容可随时变更, 极大提高营销效果,基于活码技术,二维码图案更简单,扫码更加容易宣传海报、二维码印刷、商品.群.软文。
让二维码图案更简单,扫码更加容易宣传。,

在先容二维码原理之前,先说下条形码 。条形码我们都见过,就是超市收银员结账的时刻扫的谁人器械。它是一种“一维码”,竖直偏向,条码是平均的,信息只能在水平偏向上存储,而且只能由数字和字母组成。而二维码(现在常见的是 QR Code,QR 全称 Quick Response)是一种比条形码更高级的条码花样,二维码在水平和垂直偏向都能存储信息,而且二维码能存储汉字、数字和图片等信息,因此二维码的应用领域要广得多。

然则二维码是怎么天生的呢,我们知道,计算机只能识别 0 和 1 这两个数,以是要存储在二维码的信息,计算机会将这些字符都统一转变为 0 和 1 组成的二进制数字序列,这个转化的历程叫做编码。字符在酿成只有 0 和 1 组成的数字序列后,在举行一系列优化算法后,就得到了最终的二进制编码。在最后这串编码中,一个 0 对应的就是一个白色小方块,一个 1 对应的就是一个玄色的小方块。我们把这些小方块根据 8 个一组,填进大方块里,这就是一个完整的,可以被手机相机识别的二维码图案了。

相比较于条形码,二维条码有一维条码没有的“定位点”和“容错机制”。不知人人有没有发现,所有的二维码都有三个小方块在边上。实在这三个方块是用来定位的,但为什么是三个呢,简单说就是三点确定一个面。若是只有一个点,经由这个点有无数个方框,两个点,有两个方框,因此就设了三个方块。以是不管你正着扫、倾斜扫、旋转 180 度扫,都能识别出来。”容错机制“就是在纵然没有辨识到所有的条码、或是说条码有污损时,也可以正确地还原条码上的信息。

二维码的天生

首先要先安装 pillow,qrcode 库,在 dos 窗口输入

pip install pillow
pip install qrcode

代码如下

import qrcode as qrcode
qr = qrcode.QRCode(
    version=1, #二维码的格子矩阵巨细
    error_correction=qrcode.constants.ERROR_CORRECT_Q,
    box_size=10,
    border=4,
)
qr.add_data("Hello World")#向二维码添加数据
qr.make(fit=True)
img = qr.make_image(fill_color="green", back_color="white")#更改 QR 的靠山和绘画颜色
img.show()# 显示二维码

运行效果

做二维码 _ 利用 python 实现二维码生成和识别 _ 小鹿活码(非凡微信营销)

二维码的识别

需要安装 opencv 和 pyzbar 两个模块,和上面一样的操作,这里就不赘述了。

import cv2 as cv
from pyzbar import pyzbar as pyzbar


def decodeDisplay(image):
    barcodes = pyzbar.decode(image)
    for barcode in barcodes:
        # 提取二维码的界限框的位置
        # 画出图像中条形码的界限框
        (x, y, w, h) = barcode.rect
        cv.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)

        # 提取二维码数据为字节工具,以是若是我们想在输出图像上
        # 画出来,就需要先将它转换成字符串
        barcodeData = barcode.data.decode("UTF8")
        barcodeType = barcode.type

        # 绘出图像上条形码的数据和条形码类型
        text = "{} ({})".format(barcodeData, barcodeType)
        cv.putText(image, text, (x, y - 10), cv.FONT_HERSHEY_SIMPLEX,.5, (0, 0, 125), 2)
        # 向终端打印条形码数据和条形码类型
        print("[INFO] Found {} barcode: {}".format(barcodeType, barcodeData))
    return image


def detect():
    camera = cv.VideoCapture(0)
    while True:
        # 读取当前帧
        ret, frame = camera.read()
        # 转为灰度图像
        gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
        im = decodeDisplay(gray)
        c=cv.waitKey(5)#守候 5 毫秒
        cv.imshow("camera", im)
        if(c==27):#按下 esc 键关闭摄像头窗口
            camera.release()
            cv.destroyAllWindows()
            break

if __name__ == '__main__':
    detect()

教你使用 Python 制作酷炫二维码

这篇文章讲的是如何利用 python 制作 狂拽酷炫吊炸天的二维码,非常有趣哦! 可能你见过的二维码大多长这样:普普通通,平平凡凡,没什么特色。。。 但,如果二维码长这样呢! 或者 这样! 是不是炒鸡好看! 这篇文…

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

非凡建群宝给非凡建群宝打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付

本文来自投稿,不代表微信机器人立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

2021-03-04

2021-03-04

×
Tips:非凡社群营销服务平台专注于社群管理,社群裂变,多群同步直播,企业微信SCRM系统。欢迎合作咨询;客服微信11112751