OpenCV ValueError的值太多,无法解压缩

时间:2018-11-25 21:04:22

标签: python opencv

我对机器人视觉程序有疑问,由于这是一项正在进行的工作,因此转向元件目前非常初级。

该程序包含三个脚本: 1. maze_image_processing.py(主程序) 2. maze_steering.py(计算出转向角) 3. maze_edge_detect.py(执行迷宫的边缘检测)

在修改代码以驱动机器人的电机之前,所有方法都可以工作,但是在修改后的版本中,存在一个无法解决的错误。为了告诉电机在新的变量 maze_steering.py 中的 ste 函数中创建了新变量的转向方法。通过从maze_steering导入引导中添加,此变量将添加到return语句中,并导入到主程序 maze_image_processing.py 中。

现在,在运行程序时,我收到ValueError:太多值无法解包,显示为导致错误的行是第142行:

overlay, steering_correction = steer(lines, width, height)

似乎是导致问题的原因是从功能转向返回了图像和steering_correction。如果我从return语句中注释掉steward_correction并提供了steeering_correction的替代值,则程序不会引发错误。

我正在 maze_image_processing.py

中使用此行调用变量
from maze_steering import steer

这里是 转向 模块的摘录,返回 图像 steering_correction

# convert steering correction to variable to use for steering
print("steer", round(getSteeringAngle(middle - midX),1)) # steering correction
steering_correction = round(getSteeringAngle(middle - midX),1)

corrpx = wallRight - wallLeft
if corridorWidth > 0:
    corridorWidth = (corrpx + corridorWidth) / 2
else:
    corridorWidth = corrpx

#print("pixel width", corridorWidth)
return image, steering_correction

这是在 maze_image_processing.py

中被调用的位置
# generate overlay image with processed edges
overlay, steering_correction = steer(lines, width, height)

# show the frame with overlay (dims and merges)
img = cv2.addWeighted(frame, 0.4, overlay, 0.6, 0);
cv2.imshow("Frame", img)

所有代码都可以在这里找到:

https://github.com/JonnyAlpha/Robotic_Vision

对此深表谢意

0 个答案:

没有答案