python 二维码识别与重构

本文介绍了Python中二维码识别的三大模块zbar、zbarlight和zxing,探讨了识别速度与准确性的平衡。着重讲解了如何增强发票二维码的扫描,包括HSV颜色范围设定和特定颜色提取。此外,还分享了微信开源的二维码技术,包括基于CNN的二维码检测和增强,以及更鲁棒的定位点检测方法。
摘要由CSDN通过智能技术生成


二维码重构效果:(重构不一定很准,考虑到二维码的自我校正功能,识别率能有所提升)
在这里插入图片描述

一、二维码识别

关于二维码主要有三个python模块:zbar 、zbarlight、zxing。其识别效果与速度。其他人说的很明白,我这里不再阐述。【请点击】

zxing开源地址:https://github.com/zxing/zxing/

安装依赖:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow image zxing
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyzbar

关于安装zbar报错:无法打开包括文件: “zbar.h”: No such file or directory 【参考文章】
解决方法:

  1. 下载【zbar-xxx-setup.exe】
  2. 安装时要勾选Development Headers and Libraries
  3. 配置PATHINCLUDELIB环境变量: D:\xxx\ZBar下的这三个文件路径。
  4. 下载源码,修改setup.py文件的libraries = [ 'zbar' ]改为 libraries = [ 'libzbar-0' ]编译安装。

代码演示:

# -*-coding=utf-8-*-
import os
import logging
import time
import zxing
import random
import pyzbar.pyzbar as pyzbar
from PIL import Image, ImageEnhance



logger = logging.getLogger(__name__)
if not logger.handlers: logging.basicConfig(level=logging.INFO)
DEBUG = (logging.getLevelName(logger.getEffectiveLevel()) == 'DEBUG')



def zabr_parser(image):
    img = Image.open(image)
    img = ImageEnhance.Brightness(img).enhance(2.0) #增加亮度
    img = ImageEnhance.Sharpness(img).enhance(17.0<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SongpingWang

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值