二维码、条形码识别
2024-01-03 12:42:32
一. 场景介绍
二维码和条形码包含很多信息,对二维码和条形码识别对信息抽取具有重要意义。下面介绍两种二维码识别的方法,并用python实现。
二. 代码实现
import os
import cv2
from cv2.wechat_qrcode import WeChatQRCode
from pyzbar import pyzbar
import time
"""
sudo apt-get install libzbar-dev
pip install zbar
"""
fream = cv2.imread("test.png")
start=time.time()
for i in range(1000):
decocdeQR = pyzbar.decode(fream)
res = decocdeQR[0].data.decode('utf-8')
end = time.time()
print("time:", end-start)
print("zbar的识别结果:")
print(res)
detector = WeChatQRCode(detector_prototxt_path="qr_mode/detect.prototxt",
detector_caffe_model_path="qr_mode/detect.caffemodel",
super_resolution_prototxt_path="qr_mode/sr.prototxt",
super_resolution_caffe_model_path="qr_mode/sr.caffemodel")
img = cv2.imread("test.png")
start=time.time()
for i in range(1000):
res, points = detector.detectAndDecode(img)
end=time.time()
print("time:", end-start)
print("微信的识别结果:")
print(res)
在终端的显示如下:
time: 2.875035285949707
zbar的识别结果:
http://fs.hncz.gov.cn:8094//EivcCheckH5?payer=螳牙サカ邇イ&ivccode=41060223&ivcno=0000555268&ckno=2bae01
time: 3.0192439556121826
微信的识别结果:
('http://fs.hncz.gov.cn:8094//EivcCheckH5?payer=安延玲&ivccode=41060223&ivcno=0000555268&ckno=2bae01',)
三. 其它对比
从上面的结果可以看到,加上博主的大量测试,得出以下结论:
- 微信和zbar对二维码的识别耗时在3ms左右;
- zbar对中文的支持不太友好;
- zbar还能识别条形码;
- 微信识别二维码的成功率更高。
思考:
- 在国内,用微信的二维码识别算法会更好;
- 微信的二维码识别算法也有缺陷,博主适配了业务场景,识别成功率大幅提升。
文章来源:https://blog.csdn.net/Guo_Python/article/details/135358709
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!