在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模块,你可以尝试卸载或者更新其他模块。
正常情况下,步骤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!