python中可以使用多种方法实现二维码内容的识别,但是不同实现的表现也各不相同,根据个人体验,zxing的识别效果要强于pyzbar。
  但在将项目打成docker时,遇到了问题。

File "/usr/local/lib/python3.6/dist-packages/zxing/__init__.py", line 77, in decode
raise BarCodeReaderException("Could not execute specified Java binary", self.java) from e
zxing.BarCodeReaderException: ('Could not execute specified Java binary', 'java')

  报错代码是zxing识别二维码的那一行。

reader = zxing.BarCodeReader()
barcode = reader.decode('det.jpg') # 这行

  在基础镜像、网络防火墙和一堆其他因素的共同挤兑下,艰难无比的解决了这个问题。
  该问题是由于在docker容器中缺少java环境导致的,因此目标是在容器中安装java环境即可。
  安装方法参考的这个→Linux安装JDK1.8(看这一篇就够了) 附安装包下载地址
  因为我需要使用dockerfile创建docker容器,然后使用docker compose启动容器,中途不能单独进入docker内部,所以在安装时遇到了大问题(啊,主要是太菜了……)。
  在上面安装jdk的教程中,需要将指定文件放置到指定位置,然后使用source指令更新状态,这就需要好几条指令,加上我本身dockerfile中的功能,就导致我需要执行多条cmd指令,但是如何在dockerfile中执行多条cmd指令这个问题我检索了很多种方法,最终也没找到一个直接解决我的问题的办法(是因为菜吗?)。
  因此将上述教程进行了拆解。目的是尽可能减少中途出现的cmd指令数量,使用dockerfile中的指令代替,然后保证在dockerfile中只使用一条CMD语句。
  首先还是下载jdk的jar包,在本地解压,连同上述教程中3.1步骤写的java.sh一同拷贝到docker中。
  使用如下代码,将java.sh和解压的jdk包分别拷贝到/etc/profile.d和/export目录下。这就省了两条cp指令了。

WORKDIR /etc/profile.d
COPY export/java.sh .WORKDIR /
COPY export ./export

  然后执行source命令,这里因为我的dockerfile中还需要执行python命令,且dockerfile中CMD指令只能有一条生效。因此找了好多办法,但是不知道为啥总是不生效。最后使用了如下方法Dockerfile中添加多行指令。
  创建shell脚本,被拷贝到dockerz中,输入要执行的指令。如,下方pro.sh:

source /etc/profile
python3 /det.pyc

  在Dockerfile中,进入脚本路径,执行脚本:

WORKDIR /project
CMD ["bash","pro.sh"]

  这样java环境就已经配置好了,如果不放心,可以进入docker容器中使用jps指令查看配置是否完成,使用java -version查看java版本,详情也在jdk安装教程中。
  此时zxing模块可以正常运行了。

docker中使用python zxing实现二维码内容识别相关推荐

  1. 数字图像处理二维码识别 python+opencv实现二维码实时识别

    数字图像处理二维码识别 python+opencv实现二维码实时识别 特点: (1)可以实现普通二维码,条形码: (2)解决了opencv输出中文乱码的问题 (3)增加网页自动跳转功能 (4)实现二维 ...

  2. Android利用zxing生成二维码,识别二维码,中间填充图片超详细、超简易教程

    gayhub上的zxing可用于生成二维码,识别二维码 gayhub地址:https://github.com/zxing/zxing 此文只是简易教程,文末附有完整代码和demo下载地址,进入正题: ...

  3. Java中识别二维码并且提高二维码的识别率

    我们在Java开发的时候,发现对二维码的识别是不足的.所以我们需要提高识别率. 第一步.识别图片二维码.准备相应的jar包.我们在gradle+idea中开发. compile group: 'com ...

  4. python二维码生成识别代码_Python3+qrcode+zxing生成和识别二维码教程

    一.安装依赖库 pip install qrcode pillow image zxing pillow是python3中PIL的代替库,image是生成图版需要用到的库 安装image时报错&quo ...

  5. 五十九、使用ZXing生成二维码

    @Author:Runsen @Date:2020/7/12 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏 ...

  6. python解析二维码_Python二维码生成识别实例详解

    前言 在 JavaWeb 开发中,一般使用 Zxing 来生成和识别二维码,但是,Zxing 的识别有点差强人意,不少相对模糊的二维码识别率很低.不过就最新版本的测试来说,识别率有了现显著提高. 对比 ...

  7. python二维码生成识别代码_Python学习案例之二维码生成识别

    前言 在 JavaWeb 开发中,一般使用 Zxing 来生成和识别二维码,但是,Zxing 的识别有点差强人意,不少相对模糊的二维码识别率很低.不过就最新版本的测试来说,识别率有了现显著提高. 对比 ...

  8. Android利用zxing生成二维码

    感谢大佬:https://blog.csdn.net/mountain_hua/article/details/80646089 **gayhub上的zxing可用于生成二维码,识别二维码 gayhu ...

  9. Zxing生成二维码思路和源码解析

    Zxing生成二维码思路和源码解析 本博文是一篇介绍google zxing包生成二维码的思路和它的源码的文章. 一.引入 如何调用zxing的代码生成一个二维码呢?主要的函数只有一个,如下所示: B ...

最新文章

  1. day16 递归函数
  2. oracle 同步 部份表,Oracle 同步表数据外键处理
  3. bootstrap 滚动 进度条_bootstrap实现动态进度条效果
  4. 【matplotlib】绘制动态图像
  5. 有什么推荐的计算机视觉项目?来自微软亚研院的清单
  6. android上最好的linux终端,如何在带有Termux的Android上使用Linux命令行 | MOS86
  7. php获取类的实例变量
  8. 如何使用Log4net创建日志及简单扩展
  9. 网络信息安全知识框架
  10. 计算机电源大小怎么看,怎么看电脑电源多少w
  11. dva介绍--Dva概念(二)
  12. xunsearch使用流程
  13. Java经典面试:源码解读及如何保证线程安全
  14. 达达,不能只做京东的达达
  15. 氟胶耐腐蚀油罐泵出口应用性能
  16. 【matlab图像处理笔记5】【图像变换】(四)图像的正交变换
  17. E4A易安卓计次循环和变量循环及数组
  18. 理解ALSA(二):概览
  19. 升级CocoaPods 1.0.0问题解决汇总
  20. 数据库 / 悲观锁和乐观锁

热门文章

  1. openlayers加载OSM地图出现白线
  2. 戴尔游匣G15配置参数 戴尔游匣G15怎么样
  3. MySQL_4_MySQL的多表查询和事务
  4. 七、磁盘占用率100%的解决方案
  5. 软技能-代码之外的生存指南读后感 生产力篇
  6. 【霍尔榜】30分钟增材技术现场答疑环节
  7. 代码块(Java )
  8. 2023年新版ACE笔试题库900+
  9. 爱奇艺 App 中台技术实践
  10. 苹果内购IAP流程(转载)