質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Pepper

Pepperとは、SoftBankモバイル向けにアルデバラン・ロボティクス社が開発した人型ロボットです。周囲を把握するための3Dカメラや、障害物を回避する超音波システム、触覚センサーを搭載しています。ユーザーへの対応を学習し、言語やジェスチャーを変更することもできます。

Q&A

1回答

2634閲覧

Pepperで一次元バーコードを読込みたい

makoyang

総合スコア20

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Pepper

Pepperとは、SoftBankモバイル向けにアルデバラン・ロボティクス社が開発した人型ロボットです。周囲を把握するための3Dカメラや、障害物を回避する超音波システム、触覚センサーを搭載しています。ユーザーへの対応を学習し、言語やジェスチャーを変更することもできます。

0グッド

1クリップ

投稿2017/12/21 05:48

編集2022/01/12 10:55

###目的
Pepperで一次元バーコードをデコードしたい。

###問題
Pepperで一次元バーコードをデコードするため、いくつかの方法を検討したり実際に試してみたのですが、うまく実行できる方法がなく困っています。
(いくつかの方法については下記の方法1~3を参照ください)

###お聞きしたい事
0. 試した方法になにか誤りはないのでしょうか?
0. 他に別の方法はないのでしょうか?

###方法1(Pythonの外部ライブラリzbar)
どうもzbarライブラリ以外にもパッケージを導入しなくてはいけないようなのですが、そのパッケージの導入の方法がわからず、断念しました。(Pepperでapt-getとか使用できるのでしょうか)

###方法2(Pythonの外部ライブラリpyzbar)
これは実際にWindows + Pythonの環境で実行し、うまく動作しました。
しかし、Choregrapheから実行する際にpyzbarが依存するライブラリenumがうまくPepperに転送できず、断念しました。
具体的にはenumが含まれてるChoregrapheのプロジェクトをPepperに転送しようとすると応答が無くなり、最終的に「現在のプロジェクトを送信できません。」とメッセージが表示されます。

###方法3(zbarcamコマンド)
https://community.ald.softbankrobotics.com/ja/forum/%E3%83%90%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF-2150
上記の記事を参考に試してみたのですが、まずは

zbarcam --nodisplay --prescale=640x480 --raw --iomode=2 /dev/video0

SSHログインしてこのコマンドを実行するとデコードした結果は戻ってくるものの、なぜか必ずコマンド実行後Pepperに再起動がかかってしまいます。
また、Pythonで

Python

1args = ['zbarcam', '--nodisplay', '--prescale=640x480', '--raw', '--iomode=2', '/dev/video0'] 2result = subprocess.check_output(args)

上記の様に記述し、Choregrapheで実行するとバーコードをカメラにかざしても応答がなく、やはり再起動がかかります。
この様な状況を解決できず、断念しました。

###現在、検討を進めようと思っている方法
PepperタブレットのjavascriptとPepperを連携させてデコードできないかと考えています。
http://blog.n-z.jp/blog/2013-10-20-web-barcode-reader.html
(上記のサイトを参考にしています。)

###開発環境

  • OS NAOqiOS 2.5.5
  • IDE Choregraphe2.5.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決ではないのですが、「現在、検討を進めようと思っている方法」で記載したjavascriptを応用した方法で実装し実現はできました。
しかし、問題が残っており、認識精度が実用に耐えれないレベルです。
(かなりの大きさのバーコード画像で無いと認識されません)
スマフォのカメラで撮影した画像等も試してみて、小さな画像ではうまく認識されなかったのでPepperのカメラの問題ではないと推測しております。
(zbar-processor.jsに書かれているロジック的の問題?)

投稿2017/12/25 01:41

makoyang

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問