安装加强版opencv后无代码提示问题

opencv-contrib-python是opencv-python的加强版。由于要使用他里面的sift特征点检测算法。所以在已经安装opencv-python的情况下再安装opencv-contrib-python。但是发现安装后没有代码提示.并且蹦出了众多warning,比如;

Cannot find reference ‘imread‘ in ‘__init__.py | __init__.py‘

不用想,这绝对是cv2的__init__.py文件在下载加强版后出现变化导致的。(不用想,不用想的一定是错的)

解决方法:

改回原来的即可。将****\Anaconda3\envs\py38\lib\site-packages\cv2\__init__.py文件的内容注释\删除掉。再添加上如下内容:

import sys
import os
import importlib
os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))
from .cv2 import *
globals().update(importlib.import_module('cv2.cv2').__dict__)

最后重启一下pycharm即可。

满怀希望地去试了一下,爆出这样的错误提示:

ImportError: Bindings generation error. Submodule name should always start with a parent module name. Parent name: cv2.cv2. Submodule name: cv2

于是便去opencv-contrib-python官网查看能否找到解决办法,发现下面这段话:

大致意思就是,一个环境当中加强版和核心版只能存在一个。so,直接把他们全部删除再重新下载加强版即可。

在这里总结两条经验就是:如果你是anaconda的环境,请尽量在anaconda的命令行工具当中执行命令(多次实践得出的经验)。其次,如果conda命令提示找不到对应的包,那么你也可以在anaconda的命令行工具中执行pip命令,毕竟pip命令可以-i来指定镜像。

回归正题,那么该下载哪个版本呢?这里可以看见版本与python版本对应关系,我的是python3.8于是选了4.5.4.60这个版本,这里的“cp38”就是对应python3.8.

最终下载命令为:

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

打完收工。
 

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值