0
3

Pythonでバーコードの生成と認識

Last updated at Posted at 2023-09-30

開発環境

  • Mac OS X
  • Python 3.11.5

zbar library インストール

% brew install zbar

python仮想環境作成

% python3 -m venv venv
% tree -L 2
.
└── venv
    ├── bin
    ├── include
    ├── lib
    └── pyvenv.cfg

仮想環境のアクティベート

% . venv/bin/activate

python lib インストール

% pip install pystrich
% pip install pyzbar
% pip list
Package    Version
---------- -------
Pillow     10.0.1
pip        23.2.1
pyStrich   0.8
pyzbar     0.1.9
setuptools 68.1.2

実装

生成

enc.py
from pystrich.qrcode import QRCodeEncoder
from pystrich.code128 import Code128Encoder
from pystrich.ean13 import EAN13Encoder

encoder = QRCodeEncoder("600300563001")
encoder.save("01.png")

encoder = EAN13Encoder("600300563001")
encoder.save("02.png")

encoder = Code128Encoder("600300563001-00001", options={"show_label": False})
encoder.save("03.png")

01.png
02.png
03.png

認識

dec.py
from pyzbar.pyzbar import decode
from PIL import Image

print(decode(Image.open('01.png'))[0].data.decode())
print(decode(Image.open('02.png'))[0].data.decode())
print(decode(Image.open('03.png'))[0].data.decode())

(venv) % python dec.py 
600300563001
6003005630016
600300563001-00001

以上です

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3