facility_QR_parser(img_path)
识别学校设备二维码的信息,并返回字符串。
陈光耀;唐韧之
# pip install pyzbar
from pyzbar.pyzbar import decode
# pip install Pillow
from PIL import Image
# paser the qr code of facilities
# input
# str: img_path, the qr image path
# return the parser result (string)
def facility_QR_parser(img_path):
QRimg = Image.open(img_path)
barcodes = decode(QRimg)
for barcode in barcodes:
url = barcode.data.decode('utf-8')
# print(url)
# 转成utf-8会乱码,经玄学操作,我们决定。
# 玄学秘籍:http://mytju.com/classcode/tools/messyCodeRecover.asp
# 注意这里“现在编码”和“原来编码”需要反复细品
# 也就是说,encode和decode方向来回都试一下
# 比如对于:¿ªÃÅÎļþ¹ñ
# 原来编码写的是'gbk',现在编码写的是'iso-8859-1'
# 我们先转了'gbk',之后转'iso-8859-1',但是还是失败
# 这里先转'iso-8859-1',再转'gbk'
url = bytes(url, encoding = 'iso-8859-1')
url = url.decode('gbk')
return url
print(facility_QR_parser("65ae5bc67c52a356a471bb8b799e633.jpg"))
main()
还没写,到时候看需求写。