python 调用zxing 进行二维码识别

zxing 本是java的二维码识别包,python要调用zxing就需要java的环境,java可以自己百度安装,不做过多介绍。

python需要的模块安装

 pip install jpype # python调java的包pip install zxing

下载java的jdk包

javase.jar
core.jar
下载链接:https://download.csdn.net/download/qq_40430818/20232432

二维码识别代码

import os
import sys
from jpype import *Base_DIR=os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(Base_DIR)class ZXQRcode(object):def __init__(self):# jar包的路径self.jar_path = Base_DIR + '/static/java/javase.jar'self.jar_path2 = Base_DIR + '/static/java/core.jar'# 启动JVMtry:startJVM(getDefaultJVMPath(), "-ea", "-Djava.class.path=%s;%s" % (self.jar_path, self.jar_path2))except:pass# 加载需要加载的类self.File = JClass("java.io.File")self.ImageIO = JClass("javax.imageio.ImageIO")self.BufferedImageLuminanceSource = JClass("com.google.zxing.client.j2se.BufferedImageLuminanceSource")self.Hashtable = JClass("java.util.Hashtable")self.MultiFormatReader = JClass("com.google.zxing.MultiFormatReader")self.HybridBinarizer = JClass("com.google.zxing.common.HybridBinarizer")self.DecodeHintType = JClass("com.google.zxing.DecodeHintType")self.BinaryBitmap = JClass("com.google.zxing.BinaryBitmap")self.BitMatrix = JClass("com.google.zxing.common.BitMatrix")self.Detector = JClass("com.google.zxing.qrcode.detector.Detector")self.DetectorResult = JClass("com.google.zxing.common.DetectorResult")# 释放JVMdef dels(self):import jpypetry:jpype.shutdownJVM()except Exception as e:pass# 解析二维码def analysis_QR(self, image_path):# 读入图片try:imageFile = self.File(image_path)image = self.ImageIO.read(imageFile)source = self.BufferedImageLuminanceSource(image)hybridBinarizer = self.HybridBinarizer(source)matrix = hybridBinarizer.getBlackMatrix()binaryBitmap = self.BinaryBitmap(hybridBinarizer)hints = self.Hashtable()hints.put(self.DecodeHintType.CHARACTER_SET, "UTF-8")detectorResult = self.Detector(matrix).detect(hints)resultPoints = self.MultiFormatReader().decodeWithState(binaryBitmap).getResultPoints()coordinateList = [str(resultPoints[0]), str(resultPoints[1]), str(resultPoints[2])]matrix1 = detectorResult.getBits()result = self.MultiFormatReader().decode(binaryBitmap, hints)return result.getText(), matrix1, coordinateListexcept Exception as e:return Falseif __name__ == "__main__":image_path = r"E:\liziimage\b_lizi\st1618198605.jpg"zx = ZXQRcode()print(zx.analysis_QR(image_path))zx.dels()

注:Linux系统部署是需要将startJVM(getDefaultJVMPath(), “-ea”, “-Djava.class.path=%s;%s” % (self.jar_path, self.jar_path2))改成startJVM(getDefaultJVMPath(), “-ea”, “-Djava.class.path=%s:%s” % (self.jar_path, self.jar_path2))

python zxing 二维码识别相关推荐

  1. 使用python开发二维码识别功能、Docker镜像安装opencv-contrib-python、

    使用python开发二维码识别功能.Docker镜像安装opencv-contrib-python. 背景 开发二维码识别功能,使用到开源三方库opencv-contrib-python. 在使用do ...

  2. 基于ZBar,OpenCV和Python的二维码识别

    0 前言 今天分享一个之前做过的二维码识别,参考:https://www.pyimagesearch.com/2018/05/21/an-opencv-barcode-and-qr-code-scan ...

  3. python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别

    在我们的日常生活中,处处可见条形码和二维码. 在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码:你去你们学校的自助机上借书还 ...

  4. python实现二维码识别软件_用 Python 生成 识别二维码

    说到二维码大家一定不陌生,可以说现在二维码几乎渗透到了我们生活的各个角落,举例来说吧,我们到超市商场购物时扫描二维码付款,我们出行时乘坐公交地铁扫描二维码进站,我们到菜鸟驿站取件时扫描二维码取件,如果 ...

  5. 如何用python做二维码识别软件_Python什么都能做(一)用 Python 做一个扫码工具...

    Python实现扫码工具 二维码作为一种信息传递的工具,在当今社会发挥了重要作用.从手机用户登录到手机支付,生活的各个角落都能看到二维码的存在.那你知道二维码是怎么解析的吗?有想过自己实现一个扫码工具 ...

  6. 利用Opencv+Python 实现二维码识别

    准备工作: 二维码图片,我这里直接打印在了一张A4纸上,或者直接在草料网站上生成 草料二维码生成器,存放在手机上进行显示.在安装条码扫描库的时候大家注意:zbar库只针对 python2 版本有支持, ...

  7. 基于python的二维码识别

    from pyzbar import pyzbar import cv2 import numpy as npdef image_detect(img):#QRdetecter = cv2.QRCod ...

  8. python实现二维码识别_python实现二维码、条形码识别

    环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...

  9. 基于Python的二维码识别系统设计与实现

    博主介绍:擅长Java.微信小程序.Python.Android等,专注于Java技术领域和毕业项目实战✌

最新文章

  1. R19436221 区间第k小 主席树
  2. 在Ubuntu 14.04 64bit上安装字体管理器font-manager
  3. Java反射机制深入详解
  4. Jupyter Notebook——设置Jupyter Notebook默认目录
  5. Python作为人工智能的未来,已经超越Java高居首位
  6. (二)马尔可夫决策过程
  7. 数据科学 IPython 笔记本 7.14 处理时间序列
  8. 吉林大学计算机专业宿舍研究生,吉林大学计算机系的研究生宿舍怎么样?我想考那的..._在职考研_帮考网...
  9. 同学孩子上985大学,每月生活费5000元,大家认为合适吗?
  10. 操作系统—基本地址变换机构
  11. php代码建议,php代码优化建议
  12. Leap 使用注意事项
  13. a3图纸标题栏尺寸标准_标准CAD制图上A3图幅上的标题栏尺寸是多少
  14. 【精讲版】上位机C#/.NET与西门子PLC通信
  15. oracle宿主常量及变量,ORACLE之 LOB 数据类型
  16. 微信小程序 | 模仿百思不得其姐
  17. 原码、反码、补码和真值
  18. 【毕业设计】基于SSM实现酒店管理系统(论文+源码+ppt+视频)
  19. python 会计应用软件_下列关于会计核算软件记账功能的说法中,正确的有(  )。...
  20. 【渝粤教育】电大中专跨境电子商务理论与实务 (24)作业 题库

热门文章

  1. test setup failed问题解决
  2. 显卡里面都有什么东西,看显卡好坏就看这些参数
  3. Mybatis 示例之 Association (2)
  4. 人工智能洗衣机教程_什么是“智能洗衣机”,我需要一个吗?
  5. 好用的外贸企业邮箱哪个好?
  6. 【读书笔记@观点】正确的认识论
  7. 怎么查看自己电脑的真实IP地址?
  8. linux使用佳能ip1188,佳能iP1188打印机好吗 佳能ip1188打印机如何安装【介绍】
  9. iOS备忘录之XCode插件
  10. 空气能热水器的SASO认证