我尝试使用python阅读webots相机图像,并通过ros主题发布它。但当我这样写的时候: Img=camera.getImageArray()在主循环中,模拟世界将非常缓慢,速度类似于0.1x。 我的程序是这样的:
from controller import Robot, Camera
robot = Robot()
timestep = int(robot.getBasicTimeStep())
camera = Camera('camera')
camera.enable(100)
while robot.setp(timestep) != -1:
img = camera.getImageArray()
pass
如果我从主循环中删除此代码“img=camera.getImageArray()”,则模拟速度将增加到正常速度。我的webots版本是webots R2020b-rev1,操作系统是Windows10 64位。我也尝试在Ubuntu16.04lts中运行此代码,这是相同的。有人能帮我解决这个问题吗
您应该使用
getImage()
方法而不是getImageArray()
。{a1}表示“在Python中获取相机图像的另一种方法是使用getImageArray方法,该方法返回一个列表<;list<;list>;。此三维列表可直接用于访问RGB像素值。但是,此方法的运行速度明显慢于getImage方法。”此外,最新版本的Webots是R2021a,运行速度可能比R2020b-rev1快
相关问题 更多 >
编程相关推荐