Data Matrix コード
(1)Data Matrix コード
QRコードよりも微細化可能。
読み取り誤差や歪みに強く、小面積への印刷・織り込みに適する。
一般的に産業用マーキングとして使用実績が豊富。
その他のQR類似コード
(2)DotCode(ドットコード)
ドット状の点パターンによるコードであり、非常に柔軟性が高い。
湾曲面や不規則な表面での読み取り精度が高い。
印刷が容易で、織物にも応用しやすい。
(3)Aztecコード
中央基準点を持ち、読み取り時の歪み補正能力に優れる。
織り込みによる微細コード形成にも適合性がある。
環境構築(python)
pylibdmtxのインストール(コード作成用ライブラリ)
下記ページのpylibdmtx 0.1.10の解説だが、リリース日: 2022年3月15日とすこし古い。
https://pypi.org/project/pylibdmtx/
Linuxのライブラリは sudo apt-get install libdmtx0aではなく、
sudo apt-get update
sudo apt-get install libdmtx0b libdmtx-dev
pip install pylibdmtx
pip install pillow
デモコード
demo.py
import json
from pylibdmtx.pylibdmtx import encode
from PIL import Image
def generate_datamatrix(data, filename):
"""
入力の辞書型データをJSON文字列に変換し、
Data Matrixコードを生成して画像として保存する関数
"""
json_data = json.dumps(data)
encoded = encode(json_data.encode('utf-8'))
img = Image.frombytes('RGB', (encoded.width, encoded.height), encoded.pixels)
img.save(filename)
if __name__ == '__main__':
# デモ用データ
demo_data = {"message": "Hello, Data Matrix!"}
# 画像ファイル名
output_filename = "datamatrix_demo.png"
generate_datamatrix(demo_data, output_filename)
print(f"デモ用のData Matrixコード画像を作成しました:{output_filename}")