这个错误应该是安装cv2(包的完整名叫opencv-python)一个很常见的错误了,看了一下网上的攻略,都是说numpy与cv2版本不兼容的原因,看评论也有很多人因为这个成功解决了。
但是我在改变版本的时候,改变了n种都没有用,最后的解决方法是多安装一个opencv-contrib-python包,没有仔细去查过原理,看名字可能是某种cv2和numpy之间的支持功能吧,安装这个之后我用的numpy和cv也都是新版,没有什么影响,不像其他的方法需要降低版本,我当前用的是numpy最新版本,opencv与opencv-contrib都是4.1.0.25版本。主要就是两个安装包的代码
pip install opencv-contrib-python==4.1.0.25
pip install opencv-python==4.1.0.25
如果发现什么红色报错,基本是因为权限问题,可以在末尾加“--user”或者在install后面加“--user”或者“--U”,用管理员模式安装
有了这三个之后,cv2就可以成功导入了
关于修改版本可以参考以下几个方法,其实三种都是一个意思,主要就是要降低numpy版本,让其与cv2适应:
方法①
pip install --user --upgrade numpy #将numpy更新到最新版本
方法②
pip install --upgrade --force-reinstall numpy==1.14.5 #重新安装合适的numpy版本
或
pip install numpy==1.16
#如果提示权限不够,‘[WinError 5]拒绝访问’,则需赋予管理员权限,用下面语句
pip install --user --upgrade --force-reinstall numpy==1.14.5
据说1.14.5版本和1.16版本的numpy可行的。
pip install opencv-python==3.4.2.17 numpy==1.14.5
或者可以试试只将numpy版本降低
pip install numpy==1.14.5
参考博客:https://blog.csdn.net/m0_37733057/article/details/88426147