PepperのPython SDKを使って写真を撮る話
前回、Pepperに「こんにちは、pepperです」と言わせるところまで書きました。
今回はPepperの頭部についているカメラを使って写真を撮ってみたいと思います。
前回は 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 という名前で保存されます。
実際にPepperを使って撮った自撮り(自撮りとは言っていない)画像です。
アップロードする機能は実装していないのでscpで取り出しました。
そう、pepperはsshでアクセスできるのです。
カメラの性能はそんなに良くないので画質は粗いですが、アイディア次第で使い道はありそうです。
今回使用したALPhotoCapture APIの一覧はこちらにまとまっています。
ALPhotoCapture API — Aldebaran 2.1.4.13 documentation