15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

カメラ画像をライブでタブレットに表示するサンプル(実用性低し)

Last updated at Posted at 2015-06-07

IMG_0711.JPG

初めて記事書きます。

Pepper もくもく会( https://pepper.doorkeeper.jp/events/26221 )の成果。公開するとお伝えしたので、ここに公開しようと思います。

タイトルの通り、カメラ画像をライブでタブレットに表示するサンプルというサンプルを作ってみました。カメラのライブ画像は ALVideoDevice.getImageRemote() で取ってこれるんで、これをタブレットに表示すればいいやと思ったんですが、取ってきた生データをHTML ページに表示させる効率的な方法が見つからず、パフォーマンスに難ありです。

ということで実用という意味では?ですが、こんな感じで ALVideoDevice.getImageRemote() 使えるのねという一つのサンプルと思っていただければ幸いです。

サンプルでは、カメラ画像の取得のリクエスト、処理をすべて HTML ページ内の JavaScript で行っています。ペッパー本体への画像リクエスト、取得に QiMessaging API を使っています。
QiMessaging API を使って ALVideoDevice.getImageRemote() を呼び出すと、R,G,B の並びでのバイト配列が Base64 でエンコードされて JavaScript 側に渡されます。ここまではまあいい感じなんですが、Base64 でエンコードされた生画像データをどうタブレットに表示させればいいのか、、、イマイチわかりませんでした。
で取った方法は base64 をデコードして、1ピクセルずつ ImageData オブジェクトにセット。一応動いているみたいですが、遅い、、。 0.5 FPS というところでしょうか、、、

images.src = "data:image/bmp;base64," + base64でデコードされた画像データ

みたいにできれば素敵なんですが、、、raw 画像に対応した MIME タイプがあるのかなど調べきれずです。

Choregrapheプロジェクト github に公開しました。
https://github.com/tkawata1025/CameraToTablet

15
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?