You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4倒车影像项目cv2.line函数参数类型错误求解

问题排查与修复方案

错误根因

OpenCV 所有绘图相关的接口(包括cv2.line、cv2.circle、cv2.putText等),要求传入的坐标点必须为整数类型。你代码里的yAlert是通过(heightAlert/2) + 100计算得到,Python3 中/除法默认返回浮点数,因此传给cv2.line的(0,yAlert)和(widthAlert,yAlert)坐标里包含浮点值,触发参数类型不匹配的报错。
另外后续代码里的centerX、centerY也存在同样的浮点类型问题,修复yAlert后也会在后续绘图步骤触发同类报错,需要一并处理。

修复步骤

  • 把所有传给OpenCV绘图接口的坐标值强制转换为整数,修改对应的代码行即可:
  1. 修改yAlert的计算代码,强制转int:
yAlert = int((heightAlert/2) + 100)
  1. 修改centerX、centerY的计算代码,强制转int:
centerX = int((x+x+w)/2)
centerY = int((y+y+h)/2)

额外注意事项

  • 你设置的摄像头分辨率是(1080, 720),这里PiCamera的分辨率参数顺序是(宽, 高),但OpenCV读取的图像array维度是(高, 宽, 通道),你当前获取widthAlert和heightAlert的逻辑是对的,不需要调整。
  • 如果修改后还有报错,可以加一行打印检查坐标值类型:print(type(yAlert), yAlert, type(widthAlert), widthAlert),确认所有坐标都是int类型即可。

内容的提问来源于stack exchange,提问作者Luqman _

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:57:02