opencv中没有imread方法

在python中用pip命令行下载opencv-python和opencv-contrib-python之后,引用cv2只有几个方法,没有imread等方法。我的解释器是3.9版本,opencv-python和opencv-contrib-python都是3.4.18。我根据网上其他人的步骤,把cv2.pyd文件放到了site-package下面了。打开cv2.pyd之后现实的是乱码。init文件里面只有几个方法。请问怎么改呢?

pip uninstall opencv-python
pip uninstall opencv-contrib-python
pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple

(以管理员身份运行cmd)
还是不行的话,卸载python,重新安装到比如D:\python39

可能有以下几种原因导致你引用cv2后没有出现cv2.imread()的情况:
卸载代码pip uninstall opencv
第一种,你没有正确安装opencv-python和opencv-contrib-python。你可以按照1或2中的步骤来安装这两个包,注意要指定版本号,比如pip install opencv-python==4.4.0.44和pip install opencv-contrib-python==4.4.0.44,并且要保证这两个包的版本一致。
第二种,你的IDE没有正确识别cv2模块。你可以尝试在命令行中输入python -c "import cv2"来检查是否安装成功,如果没有报错,说明安装成功,那么可能是你的IDE的问题,你可以尝试重启IDE或者更换其他IDE(比如pycharm)。
第三种,你的cv2模块和其他模块有冲突。你可以尝试在一个虚拟环境(anconda)中安装cv2模块,然后看是否能正常使用。如果能正常使用,说明是你的其他模块影响了cv2模块,你可以尝试卸载或者更新其他模块。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7444954
  • 这篇博客也不错, 你可以看下python3.7安装opencv python后import cv2找不到指定模块
  • 除此之外, 这篇博客: python安装opencv报错解决中的 2.3 复制粘贴cv2.pyd 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 正常情况下,步骤1.2运行完报错就消失了(重新运行程序前记得重启Pycharm)。若Pycharm仍然报错,而且在报错信息中有个2.4.13,是之前安装的opencv-python的版本号。可能是没有更新完整或者卸载不干净,但是在cmd中利用pip查看已安装的库信息(仍在Scripts目录下运行):

    pip list
    

    结果:
    在这里插入图片描述
    证明卸载和安装步骤是正确的。
    在网上查找资料的时候,有篇文章no module named cv2中有下图所示步骤:
    在这里插入图片描述
    因此,将目录Anaconda2->Lib->site-packages->cv2中的cv2.pyd文件复制粘贴到目录Anaconda2->Lib中:
    在这里插入图片描述
    在这里插入图片描述
    至此,报错消失,程序可正常运行。运行程序前一定记得重启Pycharm!

  • 您还可以看一下 蔡军生老师的玩转人工智能库-深入浅出OpenCV课程中的 1.OpenCV-python的开发环境介绍小节, 巩固相关知识点