0

Ich versuche ein aufgenommenes 640x480 RGB-Bild mit der Frontkamera von NAO auf meinem Computer zu speichern. Ich benutze Python und PIL dazu. Leider wird das Bild einfach nicht auf meinem Computer speichern, egal in welchem ​​Bildtyp oder Weg, den ich für die Parameter der Image.save() verwenden - Methode. Das mit PIL erstellte Bild enthält jedoch gültige RGB-Informationen. Hier ist mein Codebeispiel von choregraphe:NAO speichert das aufgenommene Bild nicht auf dem lokalen Computer

import Image 

def onInput_onStart(self): 
    cam_input = ALProxy("ALVideoDevice") 
    nameId = cam_input.subscribeCamera("Test_Cam", 1, 2, 13, 20) 

    image = cam_input.getImageRemote(nameId) #captures an image 
    w = image[0] #get the image width 
    h = image[1] #get the image height 
    pixel_array = image[6] #contains the image data 

    result = Image.fromstring("RGB", (w, h), pixel_array) 
    #the following line doesnt work 
    result.save("C:\Users\Claudia\Desktop\NAO\Bilder\test.png", "PNG") 

    cam_input.releaseImage(nameId) 
    cam_input.unsubscribe(nameId) 
    pass 

Vielen Dank für Ihre Hilfe im Voraus! - ein frustrierter Student

+0

In choregraphe ist mein Code richtig eingerückt - ich habe gerade versagt, wenn es hier auf Posten. –

Antwort

0

Damit Ihr Code richtig muss es läuft richtig eingerückt sein. Der Code sollte wie folgt aussehen:

import Image 

def onInput_onStart(self): 
    cam_input = ALProxy("ALVideoDevice") 
    nameId = cam_input.subscribeCamera("Test_Cam", 1, 2, 13, 20) 

    image = cam_input.getImageRemote(nameId) #captures an image 
    w = image[0] #get the image width 
    h = image[1] #get the image height 
    pixel_array = image[6] #contains the image data 

    ... 

Stellen Sie sicher, alles einrücken, die innerhalb der def onInput_onStart(self): Methode ist.

+0

Vielen Dank für Ihre Antwort! Es tut mir leid, ich klebte der Code nicht eingekerbt auf hier- es ist mein erster Beitrag und ich irgendwie durcheinander. Aber das ist leider nicht der Grund, warum es nicht funktioniert, es ist korrekt in choregraphe eingerückt. –

1

Im Kommentar sagen Sie, dass der Code aus Choregraphe eingefügt wurde, also denke ich, dass Sie es mit Choregraphe starten. Wenn ja, dann wird der Code in Ihre Roboter injiziert wird dann gestartet.

Also Ihr Bild wird auf der NAO-Festplatte gespeichert und ich denke, Ihr Roboter hat keinen Ordner mit dem Namen: "C: \ Benutzer \ Claudia \ Desktop \ NAO \ Bilder \ test.png".

So ändern Sie den Pfad zu "/home/nao/test.png", starten Sie Ihren Code, dann melden Sie sich in Ihrem NAO mit Putty oder Durchsuchen Ordner mit Winscp (wie es aussieht wie Sie Fenster verwenden).

Und Sie sollten Ihre Bilddatei.

+0

Um Ihre Datei zu sehen, zeigt das Ende dieses Videos den Putty-Teil: https://www.youtube.com/watch?v=Uz2LYU-9j34 –

Verwandte Themen