python zxing 二维码识别
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 二维码识别相关推荐
- 使用python开发二维码识别功能、Docker镜像安装opencv-contrib-python、
使用python开发二维码识别功能.Docker镜像安装opencv-contrib-python. 背景 开发二维码识别功能,使用到开源三方库opencv-contrib-python. 在使用do ...
- 基于ZBar,OpenCV和Python的二维码识别
0 前言 今天分享一个之前做过的二维码识别,参考:https://www.pyimagesearch.com/2018/05/21/an-opencv-barcode-and-qr-code-scan ...
- python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别
在我们的日常生活中,处处可见条形码和二维码. 在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码:你去你们学校的自助机上借书还 ...
- python实现二维码识别软件_用 Python 生成 识别二维码
说到二维码大家一定不陌生,可以说现在二维码几乎渗透到了我们生活的各个角落,举例来说吧,我们到超市商场购物时扫描二维码付款,我们出行时乘坐公交地铁扫描二维码进站,我们到菜鸟驿站取件时扫描二维码取件,如果 ...
- 如何用python做二维码识别软件_Python什么都能做(一)用 Python 做一个扫码工具...
Python实现扫码工具 二维码作为一种信息传递的工具,在当今社会发挥了重要作用.从手机用户登录到手机支付,生活的各个角落都能看到二维码的存在.那你知道二维码是怎么解析的吗?有想过自己实现一个扫码工具 ...
- 利用Opencv+Python 实现二维码识别
准备工作: 二维码图片,我这里直接打印在了一张A4纸上,或者直接在草料网站上生成 草料二维码生成器,存放在手机上进行显示.在安装条码扫描库的时候大家注意:zbar库只针对 python2 版本有支持, ...
- 基于python的二维码识别
from pyzbar import pyzbar import cv2 import numpy as npdef image_detect(img):#QRdetecter = cv2.QRCod ...
- python实现二维码识别_python实现二维码、条形码识别
环境: python 3.7 Win7 依赖包安装: pip install pillow pip install opencv-python pip install opencv-contrib-p ...
- 基于Python的二维码识别系统设计与实现
博主介绍:擅长Java.微信小程序.Python.Android等,专注于Java技术领域和毕业项目实战✌
最新文章
- R19436221 区间第k小 主席树
- 在Ubuntu 14.04 64bit上安装字体管理器font-manager
- Java反射机制深入详解
- Jupyter Notebook——设置Jupyter Notebook默认目录
- Python作为人工智能的未来,已经超越Java高居首位
- (二)马尔可夫决策过程
- 数据科学 IPython 笔记本 7.14 处理时间序列
- 吉林大学计算机专业宿舍研究生,吉林大学计算机系的研究生宿舍怎么样?我想考那的..._在职考研_帮考网...
- 同学孩子上985大学,每月生活费5000元,大家认为合适吗?
- 操作系统—基本地址变换机构
- php代码建议,php代码优化建议
- Leap 使用注意事项
- a3图纸标题栏尺寸标准_标准CAD制图上A3图幅上的标题栏尺寸是多少
- 【精讲版】上位机C#/.NET与西门子PLC通信
- oracle宿主常量及变量,ORACLE之 LOB 数据类型
- 微信小程序 | 模仿百思不得其姐
- 原码、反码、补码和真值
- 【毕业设计】基于SSM实现酒店管理系统(论文+源码+ppt+视频)
- python 会计应用软件_下列关于会计核算软件记账功能的说法中,正确的有( )。...
- 【渝粤教育】电大中专跨境电子商务理论与实务 (24)作业 题库