このエントリーをはてなブックマークに追加

Armadillo-X1:カメラの画像からQRコードを読む(zbarcam)

Armadillo-X1で、カメラの画像からQRコードを読む方法(zbarcam)です。カメラはUSBカメラを使用しました。
当方が確認したのは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手順が使えるはずです。

1.必要なパッケージのインストール

Armadiilo-X1をインターネットにつながるネットワークに接続します。 下記のように、apt-getコマンドを使って、パッケージのアップグレードと、libzbar0、zbar-tools、imagemagickのインストールを行います。
root@armadillo:~# apt-get update & apt-get upgrade
root@armadillo:~# apt-get install libzbar0
root@armadillo:~# apt-get install zbar-tools
root@armadillo:~# apt-get install imagemagick

2.PCでカメラの画像を見れるようにする

QRコードの認識自体には必要ありませんが、QRコードの画像の位置が見えないと不便なので、ネットワーク経由でカメラの画像をPCで見れるようにします。 ここでは、ATDE上に表示させます。 ATDEの/etc/gdm3/daemon.confを編集します。
atmark@atde6:~$ sudo gedit /etc/gdm3/daemon.conf
で/etc/gdm3/daemon.confファイルを開いて、[security]箇所に下記のように追加します。
[security]
DisallowTCP=false
上記の編集後、ATDEを再起動してください。 ATDE起動後、下記のようにxhostコマンドを実行します。
atmark@atde6:~$ xhost +
access control disabled, clients can connect from any host

3.QRコードを読む(zbarcamの実行)

Armadillo-X1で、下記のようにzbarcamを実行すると、上記2でxhostを実行中のATDEにカメラの画像が表示されます。 QRコードを検出すると、  Armadillo-X1の標準出力にQRコードの値が表示されます。  ATDEのカメラの画像では、QRコードに緑線の淵が表示されます。 (ATDEのIPアドレスが192.168.11.35の場合)
DISPLAY=192.168.11.35:0 zbarcam --prescale=320x240 /dev/video0
カメラとQRコードの位置が固定となって、画像が不要な場合は、下記のように実行します。
zbarcam --nodisplay --prescale=320x240 /dev/video0

製品: 

  • Armadillo-X1
  • Armadillo-IoT G3L
  • Armadillo-IoT G3

タグ: 

  • Armadillo-X1
  • 周辺デバイス
  • プログラミング