1

尝试使用 getImageLocal 从机器人获取图像时,我收到一条错误消息。尽管我直接在机器人上运行代码。错误信息是:

Traceback (most recent call last):
  File "test.py", line 13, in <module>
    video_device.getImageLocal(handle)
RuntimeError: Uncaught error: Pointer serialization not implemented

我用来获取此错误的代码如下(我在使用 C++ 时也收到相同的错误):

import qi
import sys

if __name__ == "__main__":
    app = qi.Application(sys.argv)

    # start the eventloop
    app.start()

    video_device = app.session.service("ALVideoDevice")
    handle = video_device.subscribe('handler', 0, 0, 10)

    video_device.getImageLocal(handle)
    video_device.releaseImage(handle)

我目前正在使用以下代码运行此代码:

python test.py --qi-url=tcp://pepper.local

我很想知道我在这里做错了什么,或者是否存在更严重的潜在问题。

4

1 回答 1

1

即使您直接在机器人上运行此代码,您也无法使用 Python 代码检索此图像。在使用 C++ 时遇到同样的错误这一事实确实令人不安……

如果你想在 Python 中工作,你应该考虑使用getImageRemote()方法来获取图像。如果您的代码在机器人上运行,但如果它在远程计算机上运行,​​则此解决方案有效。

如果您想更快地检索图像,您还可以考虑使用GStreamer(这里是一个帖子的链接,描述了如何使用它。它是 Nao 的有效解决方案,但它也可以用于 Pepper)。

你用的是哪个版本的脑奇?

于 2017-06-21T10:16:15.590 回答