Возникли проблемы с отображением изображений на Pepper

В приведенном ниже коде я попытался отобразить на планшете Пеппера фотографию, только что сделанную его камерой, но у меня возникли проблемы.

import time

from naoqi import ALProxy
from src.common.ip_port import IP, PORT

photoCapture = ALProxy("ALPhotoCapture", IP, PORT)
tablet = ALProxy("ALTabletService", IP, PORT)
tts = ALProxy("ALTextToSpeech", IP, PORT)


def main():
    photoCapture.setResolution(2)
    photoCapture.setPictureFormat("jpg")
    photoCapture.takePictures(1, "/home/nao/lachlan/photo/", "capture")
    print("Image taken")

    # If this doesn't work try these:
    # tablet.showImage("http://198.18.0.1/lachlan/photo/capture.jpg")
    # tablet.showImage("http://{}/lachlan/photo/capture.jpg".format(IP))
    tablet.showImage("/home/nao/lachlan/photo/capture.jpg")
    print("Image displayed")
    print(tablet.robotIp())
    # tts.say("Do you like this photo I took?")

    time.sleep(5)

    tablet.hideImage()


if __name__ == '__main__':
    main()

При отображении фотографии неактивный gif (?) на планшете исчезает и заменяется черным экраном на 5 секунд перед запуском table.hideImage(). Я попробовал все закомментированные showImages, а также попытался предварительно загрузить изображение, а также попробовать использовать showImageNoCache() (хотя я думаю, что мог сделать это неправильно). Я считаю, что это не проблема с загрузкой файла, потому что он прекрасно воспроизводит аудиофайлы. Если у кого-нибудь есть идеи о том, как решить, что протестировать или просто проблема с моим кодом, это было бы здорово.

Спасибо!

Глупый вопрос, ты уверен насчет версии Python? Версия 2 устарела и больше не должна использоваться. Кроме того, этот тег может отпугнуть людей даже от просмотра вашего вопроса.

Ulrich Eckhardt 07.05.2024 15:11

@UlrichEckhardt Pepper SDK работает только на Python 2.7, пожалуйста, убедитесь, что вы понимаете, о чем говорите, прежде чем ругаться с людьми :)

lachlanPaul 07.05.2024 23:14

Становишься дерьмовым? Надеюсь, на самом деле это не выглядело так. В любом случае, жаль, что он работает только с устаревшим Python, но если вы об этом знаете, это ваше осознанное решение.

Ulrich Eckhardt 08.05.2024 00:07

@UlrichEckhardt да, ты просто сказал, что это глупый вопрос, вот и все. Извините, если я показался вам каким-то придурком. В любом случае, насколько мне известно, Pepper поддерживает только Python 2.7, это прискорбно, но, к счастью, это пока не сильно на меня повлияло. Удачного

lachlanPaul 08.05.2024 01:07

О, теперь я понял! Этот «Глупый вопрос…» был задуман как ироническое вступление к вопросу, который я задавал! Я не хотел сказать, что ваш вопрос глупый! Мне очень жаль, это были не очень хорошие слова с моей стороны!

Ulrich Eckhardt 08.05.2024 06:52

@UlrichEckhardt о Боже, я никогда не читал это так! Мне очень жаль, но теперь мне очень жаль, что я выставляю тебя каким-то засранцем. Очень сожалею об этом. Это также немного моя вина, я вижу, как это читается так, как вы задумали (я тоже, возможно, был в полусне, когда увидел это). Если бы кто-то на самом деле пытался сказать, что мой вопрос глупый, он, вероятно, отнесся бы к нему немного грубее. Рад, что мы все это решили, и надеюсь, что у вас будет хороший день.

lachlanPaul 08.05.2024 08:45
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
68
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

http://198.18.0.1/ указывает на корневой каталог веб-сервера робота, а /home/nao — нет. Таким образом, у вас, вероятно, есть два варианта:

  1. либо загрузите изображение в какое-то удаленное место с собственным удаленным URL-адресом, либо
  2. сохраните робота в каталоге приложения и обратитесь к нему через http://198.18.0.1/apps/<app name>/.... Этот каталог находится в /home/nao/.local/share/PackageManager/apps/<app name>/html/, а структура каталогов создается при установке пакета приложения (т. е. в пакете должен появиться подкаталог html).

Другие вопросы по теме