Prenez une photo avec l'appareil photo de Pepper Étapes pour afficher les photos prises sur l'écran de la poitrine de Pepper
Sening > Vision > Camera Actions > Take Picture
html
pour stocker vos photos dans l'application. *Explorer pour Windows Dans Finder pour Mac Ouvrez le dossier de l'application que vous créez actuellement.
Créez un nouveau dossier html
directement sous le dossier de l'application.
Préparez également un fichier factice dans le dossier html
car tout va bien.
Revenir au chorégraphe et lorsque la boîte de dialogue ci-dessous s'affiche Sélectionnez "Oui à tous".
html
html
créé en 1-2. *Double-cliquez sur la case Prendre une photo placée dans 1-1. Pour ajouter le code.
def onLoad(self):
self.bIsRunning = False
try:
self.photoCapture = ALProxy( "ALPhotoCapture" )
#Ajouter à partir d'ici
self.framemanager = ALProxy("ALFrameManager")
#Ajouter ici
def onInput_onStart(self):
#Ajouter à partir d'ici
import os
self.recordFolder = os.path.join(
self.framemanager.getBehaviorPath(self.behaviorId), "../html")
#Ajouter ici
if( self.bIsRunning ):
return
avec ça
Avant le changement: (répertoire personnel) / enregistrements / caméras /
↓
Après modification: (Répertoire d'application en cours d'exécution) / html /
Ce sera.
Ouvrez les paramètres de la zone Prendre une photo Vérifiez le "Nom du fichier".
Vous pouvez voir qu'il est enregistré sous (répertoire de l'application en cours d'exécution) / html / image (.jpg)
.
Multimedia > Tablet > Show Image
Ouvrez les paramètres de la zone Afficher l'image Entrez le nom du fichier photo avec une extension dans "URL de l'image".
Exécutez l'application dans Pepper et assurez-vous que vous pouvez prendre des photos et l'afficher.
Double-cliquez sur la case Afficher l'image placée en 2-1 et ajoutez le code à deux endroits.
def onInput_onStart(self):
#Code supplémentaire:d'ici
import time
#Code supplémentaire:Jusque là
# We create TabletService here in order to avoid
# problems with connections and disconnections of the tablet during the life of the application
tabletService = self._getTabletService()
if tabletService:
try:
url = self.getParameter("ImageUrl")
if url == '':
self.logger.error("URL of the image is empty")
if not url.startswith('http'):
url = self._getAbsoluteUrl(url)
#Code supplémentaire:d'ici
url += "?" + str(time.time())
#Code supplémentaire:Jusque là
tabletService.showImage(url)
except Exception as err:
self.logger.error("Error during ShowImage : %s " % err)
self.onStopped()
else:
self.logger.warning("No ALTabletService, can't display the image.")
self.onStopped()
Essayez d'exécuter l'application plusieurs fois et voyez si la photo se met à jour correctement.
*** (Attention) Afficher la boîte d'image (si le processus d'affichage d'image est réussi) ʻOnStopped` La sortie ne se déclenche pas. *** ***
Par conséquent, la méthode pour se connecter facilement au processus suivant est celle illustrée dans la figure ci-dessous.
Si vous souhaitez effacer l'image de l'écran Déclenche l'entrée ʻonHideImage` dans la zone Afficher l'image.
Ci-dessus: vulcan_tone1: Il existe peut-être une manière plus intelligente d'écrire Je ne peux pas vérifier l'opération, donc pour le moment: baby_tone1:
Référence: Prendre une image avec Pepper et l'afficher sur une tablette