Pepper ImageRemote


_20151002_pepper_image_remote

機能
Pepper のカメラで撮影して、Android 端末に表示する Android アプリです。

API
(1) 撮影
撮影には NAOqi の ALVideoDevice#getImageRemote を使用しました。
撮った写真を YUV 形式の RAW データで取得出来ます。

(2) 画像変換
YUV から JPEG への変換には Android API の YuvImage#compressToJpeg を使用しました。
JPEG から Bitmap への変換には BitmapFactory#decodeByteArray を使用しました。

ソースコード
Github で公開しました。

補足
(1) 類似のAPIに ALPhotoCapture#takePicture があります。
こちらは撮った写真を JPEG で保存してくれますが、保存先は Pepper の内部なので、そこからどうやって取り出すかが課題です。

(2) ALVideoDevice#getImageRemote は、複数の画像形式が指定できます。
有効だったのは、 ColorSpace = 9 ( YUV422 ) で撮影して、 ImageFormat.YUY2 で画像変換するものでした。

参考
YUVフォーマット及び YUV<->RGB変換
YUV pixel formats