二维码重构效果:(重构不一定很准,考虑到二维码的自我校正功能,识别率能有所提升)
一、二维码识别
关于二维码主要有三个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
【参考文章】
解决方法:
- 下载【zbar-xxx-setup.exe】
- 安装时要勾选
Development Headers and Libraries
- 配置
PATH
、INCLUDE
和LIB
环境变量: D:\xxx\ZBar下的这三个文件路径。 - 下载源码,修改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<