opencv使用遇到的报错合集



一、项目场景

编写python代码,调用opencv函数。实现图片读取、保存等等功能。


二、具体问题

1. 在pycharm中调用opencv库无法代码补全

(1)问题描述

在pycharm中可以导入opencv库,但编写代码时并无提示补全。
例:采用以下代码读取lena图像,可正常显示,但是代码有警告提醒,提醒内容是Cannot find reference ‘imread’ in ‘init.py | init.py’
在这里插入图片描述

(2)原因分析

进入cv2包中查看__init__.py文件,发现导入为空列表。这样看确实是啥也没找到。看了下面官方源码地址,发现安装的是最新版4.6.0.66。
python-opencv官方源码
在这里插入图片描述


(3)解决方案

很简单,直接安装低版本降级。

pip install opencv-python==4.5.5.64

警告消失了
在这里插入图片描述
熟悉的代码补全回来了。
在这里插入图片描述
点进去可以看到函数的具体用法,真好。
在这里插入图片描述

2.终端不断有“Qobject::moveTOThread”报警

(1)问题描述

程序运行正常,但终端下不断有如图告警
在这里插入图片描述

(2)原因分析

anaconda的默认环境base下安装的pyqt与opencv冲突造成的

(3)解决方法

卸载conda安装的pyqt

conda uninstall pyqt

安装pip源的pyqt5和opencv

python -m pip install PyQt5  opencv-python==4.5.5.64 -i https://pypi.tuna.tsinghua.edu.cn/simple

3. ‘cv2’ has no attribute '_registerMatType 问题

(1)问题描述:

运行代码时会遇到cv._registerMatType(Mat) AttributeError: module ‘cv2’ has no attribute ‘_registerMatType’

(2)原因分析

很显然缺少一个特性,说明版本不对,要不是低了就是高了

(3)解决方法

升级opencv

python -m pip install --upgrade  opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PellyKoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值