Python で QRコードの画像を読み取るサンプル作ってみた!!

QRコードを撮影した結果をデコードするのは一般的…

でもQRコードの画像データをデコードできるのかな?と気になったので、その部分を調べてみた。



環境

  • MacOSX 10.13.3 (High Sierra)
  • Python 3.6.1
  • zbar
  • pyzbar
  • Pillow

準備

  1. virtualenv 環境構築
  2. zbarをインストール

$ brew install zbar

  1. Pythonパッケージのインストール

$ pip install pyzbar $ pip install pillow

実行

今回は下記QRコードの画像ファイル("Sample_QR.png")を用意して、コードを実行する同じ階層におく

from pyzbar.pyzbar import decode
from PIL import Image
import os

image = "Sample_QR.png"

data = decode(Image.open(image))

f = open('output.txt', 'a')
f.write(data[0][0].decode('utf-8', 'ignore'))
f.close()

結果

output.txtファイルが生成されて、その中に結果が出力されていれば成功
今回は https://www.google.co.jp/が出力されている