コーヒーこぼした。

プログラミングとちょこっとハード

PepperのPython SDKを使って写真を撮る話

前回、Pepperに「こんにちは、pepperです」と言わせるところまで書きました。

imkitchen.hatenablog.com

今回はPepperの頭部についているカメラを使って写真を撮ってみたいと思います。

https://gyazo.com/75d44a662ead1056388c096b527a7abc

前回は ALTextToSpeech というProxyを用いて発話を行いましたが、今回は ALPhotoCapture というProxyを利用します。
どのProxyでも、インスタンスを作りコネクションを張ってメソッドを介してAPIを叩くのは同じです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from naoqi import ALProxy

# プロキシのインスタンス生成
photo = ALProxy("ALPhotoCapture", 192.168.100.30, 9559)

# フォーマットの指定(“bmp”, “dib”, “jpeg”, “jpg”, “jpe”, “png”, “pbm”, “pgm”, “ppm”, “sr”, “ras”, “tiff”, “tif”が指定可能)
photo.setPictureFormat("jpeg")

# 解像度の指定(0 = kQQVGA, 1 = kQVGA, 2 = kVGA)
photo.setResolution(2)

# 保存先を指定して画像をキャプチャ
photo.takePicture("/home/nao/recordings/cameras/", "image")

これを実行すればJPEG画像ファイルがPepper本体の "/home/nao/recordings/cameras/" に image.jpeg という名前で保存されます。


f:id:imkitchen:20151029145437j:plain
実際にPepperを使って撮った自撮り(自撮りとは言っていない)画像です。
アップロードする機能は実装していないのでscpで取り出しました。
そう、peppersshでアクセスできるのです。

カメラの性能はそんなに良くないので画質は粗いですが、アイディア次第で使い道はありそうです。

今回使用したALPhotoCapture APIの一覧はこちらにまとまっています。
ALPhotoCapture API — Aldebaran 2.1.4.13 documentation

スポンサーリンク