二次元バーコードをカメラで読み取り、読み取ったものを表示するプログラムPython2.x系で作ってみました。
開発をした環境は、RaspberryPi Zeroです。(色々あってこの環境)
QRコードを読み取るときに、画像処理したほうが読み取りやすくなるかなぁと思い、グレースケール化から二値化を行って読み取っています。
使用したライブラリ
- OpenCV 2.4.9.1
- zbar
- Pillow
プログラム
実際に動いているところ
一応GitHubにもソースコードをあげています ここ
USBカメラによるQRコードの読み取りの他に、Raspberry Pi CameraによるQRコードの読み取りをするプログラムも作成しました
コメント
ラズパイ初心者です、こちらのラズパイカメラ版のプログラムを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を使っています。
可能であれば教えてください。
よろしくお願いします。
mijeon さん
私の手元にラズパイ4B と picamera がないため、予想での回答となります。すみません。
ラズパイの設定にて、picamera が使えるようになっているか確認をお願いします。
参考url: https://www.rs-online.com/designspark/raspberry-pi-camera
$sudo raspi-config を行い、camera の項目を選択後し有効にする。
また、カメラがラズパイと正しく接続されているかをもう一度確認お願いします。
以上よろしくお願いします。