当前位置:   article > 正文

opencv使用遇到的报错合集_cannot find reference 'imread' in 'imported module

cannot find reference 'imread' in 'imported module cv2


一、项目场景

编写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
  • 1

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

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

(1)问题描述

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

(2)原因分析

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

(3)解决方法

卸载conda安装的pyqt

conda uninstall pyqt
  • 1

安装pip源的pyqt5和opencv

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

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
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/874599
推荐阅读
相关标签
  

闽ICP备14008679号