[PYTHON] Nehmen Sie ein Foto mit Pepper auf und zeigen Sie es auf dem Brustdisplay an - Version 2.5.5 -.

Machen Sie ein Foto mit Peppers Kamera Schritte zum Anzeigen von Fotos, die auf Peppers Brustdisplay aufgenommen wurden


1. Machen Sie ein Foto

1-1. Platzieren Sie das Feld Bild aufnehmen

Sening > Vision > Camera Actions > Take Picture スクリーンショット 2019-12-25 21.59.11.png

1-2. Erstellen Sie einen HTML-Ordner

Explorer für Windows Im Finder für Mac Öffnen Sie den Ordner für die App, die Sie gerade erstellen.

Erstellen Sie einen neuen HTML-Ordner direkt unter dem App-Ordner. Bereiten Sie außerdem eine Dummy-Datei im HTML-Ordner vor, da alles in Ordnung ist.

Kehren Sie zu Choregraphe zurück und wenn der unten gezeigte Dialog angezeigt wird Wählen Sie "Ja zu allen". スクリーンショット 2019-12-28 22.09.12.png

1-3 Speichern Sie die aufgenommenen Fotos im Ordner "html"

Doppelklicken Sie auf das Feld Bild aufnehmen in 1-1, um den Code hinzuzufügen.


    def onLoad(self):
        self.bIsRunning = False
        try:
            self.photoCapture = ALProxy( "ALPhotoCapture" )
            #Von hier aus hinzufügen
            self.framemanager = ALProxy("ALFrameManager")
            #Addiere hier
    def onInput_onStart(self):
        #Von hier aus hinzufügen
        import os
        self.recordFolder = os.path.join(
                self.framemanager.getBehaviorPath(self.behaviorId), "../html")
        #Addiere hier
        if( self.bIsRunning ):
            return

mit diesem Vor der Änderung: (Ausgangsverzeichnis) / recordings / camera / ↓ Nach der Änderung: (Ausführendes App-Verzeichnis) / html / Es wird sein.

1-4 Überprüfen Sie den Dateinamen des Fotos

Öffnen Sie die Einstellungen für das Bild Überprüfen Sie den "Dateinamen". スクリーンショット 2019-12-25 22.33.50.png

Sie können sehen, dass es als "(Verzeichnis der laufenden App) / html / image (.jpg)" gespeichert ist.


2. Zeigen Sie das Foto auf dem Brustdisplay

2-1. Platzieren Sie das Feld Bild anzeigen

Multimedia > Tablet > Show Image スクリーンショット 2019-12-28 22.16.55.png

2-2 Geben Sie den Dateinamen an

Öffnen Sie die Einstellungen für das Feld Bild anzeigen Geben Sie den Namen der Fotodatei mit einer Erweiterung in "Bild-URL" ein. スクリーンショット 2019-12-28 22.18.50.png


3. Funktionsprüfung

Führen Sie die App in Pepper aus und stellen Sie sicher, dass Sie Bilder aufnehmen und anzeigen können.


4. Stellen Sie sicher, dass das Bild aktualisiert wird, auch wenn Sie die App mehrmals ausführen

4-1. Fügen Sie der Bild-URL Abfrageparameter hinzu

Doppelklicken Sie auf das Feld Bild anzeigen in 2-1 und fügen Sie den Code an zwei Stellen hinzu.


    def onInput_onStart(self):
        #Zusätzlicher Code:von hier
        import time
        #Zusätzlicher Code:Bisher
        # 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)
                #Zusätzlicher Code:von hier
                url += "?" + str(time.time())
                #Zusätzlicher Code:Bisher
                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()

4-2. Funktionsprüfung

Versuchen Sie, die App mehrmals auszuführen, und prüfen Sie, ob das Foto erfolgreich aktualisiert wurde.


Bonus 1: Zeigen Sie das Bild an und fahren Sie mit dem nächsten Vorgang fort

*** (Achtung) Feld Bild anzeigen (wenn der Bildanzeigevorgang erfolgreich ist) Die Ausgabe "onStopped" wird nicht ausgelöst. *** ***

Daher ist die Methode zum einfachen Herstellen einer Verbindung zum nächsten Prozess wie in der folgenden Abbildung dargestellt. スクリーンショット 2019-12-28 23.03.24.png


Bonus 2: Bild ausblenden

Wenn Sie das Bild von der Anzeige löschen möchten Löst die Eingabe "onHideImage" im Feld "Bild anzeigen" aus. スクリーンショット 2019-12-28 23.14.26.png


Oben: vulcan_tone1: Es kann eine intelligentere Art zu schreiben geben Ich kann den Vorgang nicht überprüfen, daher vorerst: baby_tone1:

Referenz: Nehmen Sie ein Bild mit Pepper auf und zeigen Sie es auf einem Tablet an

Recommended Posts

Nehmen Sie ein Foto mit Pepper auf und zeigen Sie es auf dem Brustdisplay an - Version 2.5.5 -.
Nehmen Sie ein Bild mit Pepper auf und zeigen Sie es auf Ihrem Tablet an
Machen Sie Ihren Cursor unter Linux zu einem Foto Ihrer Wahl