我正在尝试用NAO的前置摄像头将捕获的640x480 RGB图像保存到我的电脑上。我正在使用python和PIL这样做。不幸的是,无论我使用什么图像类型或路径用于Image.save() - Method的参数,图像都不会保存在我的计算机上。使用PIL创建的图像包含有效的RGB信息。这是来自choregraphe的代码示例:
REGEX="^interface (.*)"
REGEX_TRUNKRANGEVLAN="switchport trunk allowed vlan (.*)"
REGEX_RANGE="([0-9]+)-([0-9]+)"
REGEX_PO="channel-group.*"
if [[ $line =~ $REGEX_TRUNKRANGEVLAN ]]; then
#for each pattern match on this line, I need to check
ranges=$(echo ${BASH_REMATCH[1]} | tr "," "\n")
for range in $ranges
do
if [[ $range =~ $REGEX_RANGE ]]; then
if [ ${BASH_REMATCH[1]} -le $vlan ] && [ ${BASH_REMATCH[2]} -ge $vlan ]; then
vlancontained=true
mode="TRUNK RANGE"
fi
else
if [ $range != "none" ] && [ $range -eq $vlan ]; then
vlancontained=true
mode="TRUNK"
fi
fi
done
非常感谢您的帮助! - 一个沮丧的学生
答案 0 :(得分:1)
在评论中,你说代码是从choregraphe粘贴的,所以我猜你是用choregraphe启动的。 如果是这样,那么代码将被注入您的机器人然后开始。
因此您的图像会保存到NAO硬盘中,我猜您的机器人没有名为“C:\ Users \ Claudia \ Desktop \ NAO \ Bilder \ test.png”的文件夹。
因此,将路径更改为“/home/nao/test.png”,启动代码,然后使用putty登录到您的NAO或使用winscp浏览文件夹(因为它看起来像您正在使用Windows)。
你应该看到你的图像文件。
答案 1 :(得分:0)
为了使代码正确运行,需要正确缩进。您的代码应如下所示:
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
...
确保缩进def onInput_onStart(self):
方法中的所有内容。