当前位置:   article > 正文

Python Opencv实践 - 二维码和条形码识别_python opencv识别二维码

python opencv识别二维码

        使用pyzbar模块来识别二维码和条形码。ZBar是一个开源软件,用来从图像中读取条形码,支持多种编码,比如EAN-13/UPC-A、UPC-E、EAN-8、代码128、代码39、交错2/5以及二维码。

        pyzbar是python封装ZBar的模块,我们用它来做条形码和二维码的识别。

        安装方法:

        

平台安装方法
Windows

使用pip安装即可

pip install pyzbar

Ubuntu

sudo apt-get install libzbar-dev

pip install zbar

参考:

ubuntu中安装zbar_ubuntu 安装libzbar依赖-CSDN博客

        python识别二维码并绘制边框和文字的代码:

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. import cv2 as cv
  4. from pyzbar.pyzbar import decode
  5. #读取二维码图像
  6. img = cv.imread('../../SampleImages/QRCodes.jpg')
  7. QRCodes = decode(img)
  8. for QRCode in QRCodes:
  9. print(QRCode)
  10. stringData = QRCode.data.decode('utf-8')
  11. print("二维码字符串是:\"" + stringData + "\"")
  12. #绘制出二维码边框
  13. points = np.array([QRCode.polygon], np.int32)
  14. #numpy reshape: https://blog.csdn.net/DocStorm/article/details/58593682
  15. points = points.reshape((-1,1,2))
  16. cv.polylines(img, [points], True, (0,255,0), 5)
  17. rectPoints = QRCode.rect
  18. cv.putText(img, stringData, (rectPoints[0], rectPoints[1]), cv.FONT_HERSHEY_SIMPLEX, 0.5, (0,0,255), 2)
  19. plt.imshow(img[:,:,::-1])

运行结果(最后的二维码是残缺的,因此未识别): 

        识别条形码的代码和识别二维码的代码是一样的:

  1. #读取条形码图像
  2. img = cv.imread('../../SampleImages/BARCodes.png')
  3. BARCodes = decode(img)
  4. for BARCode in BARCodes:
  5. print(QRCode)
  6. stringData = BARCode.data.decode('utf-8')
  7. print("条形码字符串是:\"" + stringData + "\"")
  8. #绘制出二维码边框
  9. points = np.array([BARCode.polygon], np.int32)
  10. #numpy reshape: https://blog.csdn.net/DocStorm/article/details/58593682
  11. points = points.reshape((-1,1,2))
  12. cv.polylines(img, [points], True, (0,255,0), 5)
  13. rectPoints = BARCode.rect
  14. cv.putText(img, stringData, (rectPoints[0] - 20, rectPoints[1] - 5), cv.FONT_HERSHEY_SIMPLEX, 1, (0,0,255), 2)
  15. plt.imshow(img[:,:,::-1])

         识别结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/649400
推荐阅读
相关标签
  

闽ICP备14008679号