opencv使用遇到的报错合集


文章目录

  • 一、项目场景
  • 二、具体问题
    • 1. 在pycharm中调用opencv库无法代码补全
      • (1)问题描述
      • (2)原因分析
      • (3)解决方案
    • 2.终端不断有“Qobject::moveTOThread”报警
      • (1)问题描述
      • (2)原因分析
      • (3)解决方法


一、项目场景

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


二、具体问题

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

(1)问题描述

在pycharm中无法倒入opencv库,但编写代码时并无提示补全。
例:采用以下代码读取lena图像,可正常显示,但是代码有警告提醒,提醒内容是Cannot find reference ‘imread’ in ‘init.py | init.py’
opencv使用遇到的报错合集_第1张图片

(2)原因分析

进入cv2包中查看__init__.py文件,发现导入为空列表。这样看确实是啥也没找到。看了下面官方源码地址,发现安装的是最新版4.6.0.66。
python-opencv官方源码
opencv使用遇到的报错合集_第2张图片


(3)解决方案

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

pip install opencv-python==4.5.5.64

警告消失了
opencv使用遇到的报错合集_第3张图片
熟悉的代码补全回来了。
opencv使用遇到的报错合集_第4张图片
点进去可以看到函数的具体用法,真好。
opencv使用遇到的报错合集_第5张图片

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

(1)问题描述

程序运行正常,但终端下不断有如图告警
opencv使用遇到的报错合集_第6张图片

(2)原因分析

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

(3)解决方法

卸载conda安装的pyqt

conda uninstall pyqt

安装pip源的pyqt5和opencv

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

你可能感兴趣的:(bug收集者,opencv,python,pycharm)