PythonでQRコードを読み取るカメラをつくる

二次元バーコードをカメラで読み取り、読み取ったものを表示するプログラムPython2.x系で作ってみました。

開発をした環境は、RaspberryPi Zeroです。(色々あってこの環境)

QRコードを読み取るときに、画像処理したほうが読み取りやすくなるかなぁと思い、グレースケール化から二値化を行って読み取っています。

スポンサーリンク




スポンサーリンク

使用したライブラリ

  • OpenCV 2.4.9.1
  • zbar
  • Pillow

プログラム

実際に動いているところ

一応GitHubにもソースコードをあげています ここ

USBカメラによるQRコードの読み取りの他に、Raspberry Pi CameraによるQRコードの読み取りをするプログラムも作成しました

コメント

  1. mijeon より:

    ラズパイ初心者です、こちらのラズパイカメラ版のプログラムを4Bでそのまま導入しようと試みましたがタイムアウトになってしまいます。

    Traceback (most recent call last):
    File “QR.py”, line 22, in
    for foo in camera.capture_continuous(stream, “jpeg”, use_video_port=True):
    File “/usr/lib/python2.7/dist-packages/picamera/camera.py”, line 1704, in capture_continuous
    ‘Timed out waiting for capture to end’)
    picamera.exc.PiCameraRuntimeError: Timed out waiting for capture to end

    4Bの場合はどこか変更が必要でしょうか。カメラはIMX219を使っています。
    可能であれば教えてください。
    よろしくお願いします。

    • miyakawa より:

      mijeon さん
      私の手元にラズパイ4B と picamera がないため、予想での回答となります。すみません。
      ラズパイの設定にて、picamera が使えるようになっているか確認をお願いします。
      参考url: https://www.rs-online.com/designspark/raspberry-pi-camera

      $sudo raspi-config を行い、camera の項目を選択後し有効にする。

      また、カメラがラズパイと正しく接続されているかをもう一度確認お願いします。

      以上よろしくお願いします。