python识别二维码内容的三种方法,分别是pyzbar、zbarlight和zxing。不清楚前两者之间是否底层是同一套算法。zxing的效果要强于前两个算法。
下方img是numpy格式。

  1. pyzbar
import pyzbar
barcode = pyzbar.decode(img)
(x, y, w, h) = barcode.rect  # 
barcodeData = barcode.data.decode("utf-8")
barcodeType = barcode.type
  1. zbarlight
    需要将numpy转换为PIL格式。
import zbarlight
from PIL import Image
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
codes = zbarlight.scan_codes(['qrcode'], img)
  1. zxing
    识别效果最好。
    貌似需要将图像存储到本地,且不可以使用绝对路径。未详细测试,仅简单使用。
import zxing
reader = zxing.BarCodeReader()
barcode = reader.decode('decode.jpg')
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐