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

树莓派运行OpenCV代码报cvGetMat不支持数组类型错误如何解决

问题排查步骤
  • 第一步验证图片是否实际读取成功:在cv2.imread后加一行打印代码print(img is None, type(img)),如果输出为True <class 'NoneType'>,说明图片读取失败,你认为路径正确大概率是误解:相对路径./images/image.jpg是相对于脚本运行时的工作目录,而非脚本本身存放的目录,你可以替换为图片的绝对路径重试。
  • 第二步排查图片本身问题:如果确认img不是None,先替换为其他正常的jpg/png格式测试图片重试,排除原图片损坏、后缀名与实际格式不符、是OpenCV 4.5.3不支持的格式(如webp、heic等)的问题。
  • 第三步验证依赖兼容性:树莓派架构下预编译的opencv-python包经常出现和numpy版本不匹配的问题,可先执行卸载命令pip uninstall -y opencv-python opencv-python-headless numpy,再重新安装对应版本pip install numpy==1.21.2 opencv-python==4.5.3.56,保证版本匹配。
  • 第四步排查运行环境问题:cv2.imshow依赖图形桌面环境,如果你是通过SSH远程登录树莓派无桌面运行脚本,会触发该类报错,这种场景可删除imshow相关代码,改为用cv2.imwrite('./test.jpg', img)保存图片验证读取是否正常。
  • 第五步排查权限问题:验证运行脚本的用户是否拥有图片的读取权限,可添加代码验证:
import os
print(os.access('./images/image.jpg', os.R_OK))

如果返回False,修改对应目录和文件的读取权限即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:24:04