利用python中的zxing包实现二维码,条形码的识别。zxing使用0.12版本,python版本为3.7,先看效果:
再看代码:
# -*- coding: utf-8 -*-import logging
import osimport zxing # 导入解析包logger = logging.getLogger(__name__)
if not logger.handlers:
logging.basicConfig(level=logging.INFO)
DEBUG = (logging.getLevelName(logger.getEffectiveLevel()) == 'DEBUG')class QRCode:
@staticmethod
def ocr_qr_code(path):
"""
检测图片中是否包含二维码
:param path: 图片路径
:return: BarCode(raw='', parsed='', uri=None, format=None,
type=None, points=[])
"""
zx = zxing.BarCodeReader()
data = ''
# 条形码或者二维码中有中文会出现异常
try:
zx_data = zx.decode(path) if zx_data:
logger.debug(u'识别二维码:%s,内容: %s' % (filename, zx_data))
data = zx_data
else:
logger.error(u'识别二维码出错:%s' % filename)
return data
except Exception as e:
print(e)
return Noneif __name__ == '__main__':
filepath = 'D:/xxxx/'
for parent, dirnames, filenames in os.walk(filepath):
for filename in filenames:
image_path = filepath + filename
# 将图片文件里的信息转码放到ltext里面
ltext = QRCode.ocr_qr_code(image_path)
logger.info(u'[%s]二维码识别:[%s]!!!' % (filename, ltext))