Как разделить QR-коды на отдельные изображения? - PullRequest
0 голосов
/ 05 июля 2018

У меня есть сотни изображений с qr-кодами (иногда на одной странице есть 0, 1, 2 или более qr-кодов ... но они всегда в одной строке). Я хочу декодировать коды qr слева направо . Моя идея состоит в том, чтобы разделить коды QR на отдельных изображениях.

Кто-нибудь знает решение Linux (или Python) для этой проблемы?

enter image description here

Порядок, который мне нужен: url1, url2, url3, url4, url5, url6.

1 Ответ

0 голосов
/ 05 июля 2018

Я нахожусь на Windows, сейчас нет возможности протестировать на linux, но, похоже, все работает как положено.

import sys, os
try:
    from pyzbar.pyzbar import decode, ZBarSymbol
except:
    cmd = ('py -m pip install "pyzbar"')
    os.system(cmd)
    from pyzbar.pyzbar import decode, ZBarSymbol

try:
    from PIL import Image
except:
    cmd = ('py -m pip install "Pillow"')
    os.system(cmd)
    from PIL import Image

decoded = decode(Image.open("C:/Temp/13AZQ.png"), symbols=[ZBarSymbol.QRCODE])
qr_dic = {}
for qr in decoded:
    x = qr[2][0] # The Left position of the QR code
    qr_dic[x] = qr[0] # The Data stored in the QR code

for qr in sorted(qr_dic.keys()):
    print(qr_dic[qr])

Выход:

b'url1'
b'url2'
b'url3'
b'url4'
b'url5'
...