解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

发现问题

当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2
就像这样:

import cv2 as cv

but…
码代码时竟然没有自动补全!!!这我还能忍,可是CTRL+左键竟然不能看源码!!!!!!就像这样:

这我就受不了了。于是开始找解决方法

解决问题

查找解决方法,
有的说要将cv2.cp36-win_amd64.pyd文件挪到site-packages下;
有的说要修改_init_.py文件
有的说…

直到我看到https://segmentfault.com/q/1010000008971601这篇文章

于是突然顿悟!

原来真正的实现opencv功能的cv2模块是在cv2/data文件夹下

而cv2下的_init_.py文件内描述的也很清楚

import importlib
from .cv2 import *
from .data import *

# wildcard import above does not import "private" variables like __version__
# this makes them available
globals().update(importlib.import_module('cv2.cv2').__dict__)

它的目的就是将cv2/data/下的真正的cv2功能模块放在cv2目录下,也就意味着
变成了这种形式:cv2/cv2

所以你在导入cv2模块儿时要这样做

正确的做法

import cv2.cv2 as cv

自动提示的功能出现了。

CTRL+鼠标左键查看源码的功能也回来了。

针对一些疑惑进行可能的解答,也不知道对不对。

由于我之前升级过IDE,所以这个项目是我从外部导入的,首先我为这个项目选择python解释器路径,然后就会出现下图的进度条。(这个项目在构建之初,用virtualenv建立了一个独立的环境,所以python解释器选择的是项目路径下的。)

库文件在刚刚被添加到项目中时,pycharm会针对这个库文件,构建索引(building index)。然后会显示一个进度条,在进度条走完之前,使用这个库中的方法确实会出现无法自动提示的问题。

等待进度条走完,也就是python环境中的库都被构建索引,然后再使用库中的方法,自动提示就有了。

这是我新建的.py文件,然后进行的测试

总结

到此这篇关于解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)的文章就介绍到这了,更多相关pycharm opencv-python导入cv2无法自动补全内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • window7下的python2.7版本和python3.5版本的opencv-python安装过程

    花费了整整2天的时间终于学会安装了opencv,换系统的心都有了,由于ubuntu实在不会玩,看来还是老老实实在windows下安装吧,以此作为记录方便以后安装 python2.7版本的opencv安装 1.首先到官网下载64位(以后安装的都是对应64位的程序)python2.7版本并安装,我选择的是安装在D盘命名为python2.7.12文件夹下,将D:\python2.7.12和D:\python2.7.12\Scripts路径加入到环境变量中,注意中间用分号隔开 2.下载opencv.ex

  • python使用pycharm环境调用opencv库

    我这只学术的小小只白,竟然也开始写博客了.因为配置opencv的库用了很长的时间,三天,遇到很多问题,一个个解决后,才决定分享出来,想要用pythont调用opencv库的少走些弯路.写这篇文章另一方面是收到浅墨--毛星云的博客的影响,浅墨博主,真的是无私的分享了自己的代码,我是一个很懒得人,深受影响,做个不懒惰的人. 首先安装python,有2.X和3.X,两个版本有很大的不同.我用的是2.7,2.系列支持opencv的很多库. Python下载链接: https://www.python.o

  • opencv-python 提取sift特征并匹配的实例

    我就废话不多说,直接上代码吧! # -*- coding: utf-8 -*- import cv2 import numpy as np from find_obj import filter_matches,explore_match from matplotlib import pyplot as plt def getSift(): ''' 得到并查看sift特征 ''' img_path1 = '../../data/home.jpg' #读取图像 img = cv2.imread(i

  • Opencv-Python图像透视变换cv2.warpPerspective的示例

    Opencv-Python图像透视变换cv2.warpPerspective 代码如下: # -*- coding:utf-8 -*- import cv2 import numpy as np import sys img = cv2.imread('test.jpg') # cv2.imshow("original", img) # 可选,扩展图像,保证内容不超出可视范围 img = cv2.copyMakeBorder(img, 200, 200, 200, 200, cv2.B

  • OpenCV-Python实现轮廓检测实例分析

    相比C++而言,Python适合做原型.本系列的文章介绍如何在Python中用OpenCV图形库,以及与C++调用相应OpenCV函数的不同之处.这篇文章介绍在Python中使用OpenCV检测并绘制轮廓. 提示: 转载请详细注明原作者及出处,谢谢! 本文介绍在OpenCV-Python中检测并绘制轮廓的方法. 本文不介详细的理论知识,读者可从其他资料中获取相应的背景知识.笔者推荐清华大学出版社的<图像处理与计算机视觉算法及应用(第2版)>. 轮廓检测 轮廓检测也是图像处理中经常用到的.Ope

  • OpenCV-Python 摄像头实时检测人脸代码实例

    参考 OpenCV摄像头使用 代码 import cv2 cap = cv2.VideoCapture(4) # 使用第5个摄像头(我的电脑插了5个摄像头) face_cascade = cv2.CascadeClassifier(r'haarcascade_frontalface_default.xml') # 加载人脸特征库 while(True): ret, frame = cap.read() # 读取一帧的图像 gray = cv2.cvtColor(frame, cv2.COLOR_

  • 解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

    发现问题 当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2 就像这样: import cv2 as cv but- 码代码时竟然没有自动补全!!!这我还能忍,可是CTRL+左键竟然不能看源码!!!!!!就像这样: 这我就受不了了.于是开始找解决方法 解决问题 查找解决方法, 有的说要将cv2.cp36-win_amd64.pyd文件挪到site-packages下: 有的说要修改_init_.py文件 有的说- 直到我看到https://segmentfaul

  • pycharm中keras导入报错无法自动补全cannot find reference分析

    目录 引言 分析 解决方法 理论解释 1. 直接导入keras 2. 从tensorflow里导入keras 3. 从tensorflow.python里导入keras: 4. 不导入keras 总结 引言 目前无论是中文还是国外网站对于如何正确的导入keras,如何从tensorflow中导入keras,如何在pycharm中从tensorflow里导入keras,这几个问题都众说纷纭,往往是互相借鉴给出一个可用的解决方法,但没有更进一步的解释了.常见因为keras导入引发的问题有以下几个:

  • 让 python 命令行也可以自动补全

    许多人都知道 iPython 有很好的自动补全能力,但是就未必知道 python 也同样可以 Tab 键补全, 您可以在启动 python 后,执行下 复制代码 代码如下: import readline, rlcompleter; readline.parse_and_bind("tab: complete") 这就可以按 Tab 键补全了. python 自启动 如果您嫌每次都要键入这东西麻烦的话,可以把上边这行写到 ~/.pythonstartup.py , 再 ~/.bashr

  • python pycharm中使用opencv时没有代码自动补全提示的解决方案

    目录 解决方案有2种 方法1 方法2 注意事项 总结 python pycharm中使用opencv时,没有代码自动补全提示 解决方案有2种 今天工作时突然发现,在写OPENCV相关代码时,没有自动补全提示了,只有几个最最基本的补全函数. 方法1 开始以为是opencv坏了,一通折腾搞不定,又把pycharm重装,还是不行,又把Python重装还是不行.甚至还安装了anaconda都还是不行,之前一直是通过pip3进行安装库文件. 最后发现,似乎是pycharm自动升级之后造成的问题,需要将op

  • Pycharm 如何设置HTML文件自动补全代码或标签

    在使用Pycharm编写Django模板时,要用到一些特殊的格式,比如 {{ - }},{% if %}等等,如果不设置Pycharm,只能一个符号一个符号的输入. 现在教大家如何设置自动补全这些东西. 1.首先,打开Pycharm的Files–>Settings–>Editor–>Live Templates 点击最右边的添加按钮,选择Live Template 2.添加标签 Abbreviation 处添加标签,比如 if Description 是描述这个标签用途的,随便写. Te

  • 解决pycharm中导入自己写的.py函数出错问题

    如图,今天跑代码的事后遇到的问题,pycharm导入我自己写的各种函数.py文件时有红色标注,显示"no moudle balabala-" 可以看到,右侧自己写的函数是存在的. 解决办法 方便起见,直接在文件所在的目录(如上目录为 jihe )上进行操作! 如图,右键点击根目录-->Mark Directory as-->Sources Root.就大功告成了. 这样报错就解除了. 除非你导入函数时将函数名写错了(以前的坑).... 以上这篇解决pycharm中导入自己写

  • 解决python中无法自动补全代码的问题

    自已理解自我总结出来的方法,供自己以后使用 #coding:utf-8 from cv2 import * #这里表示让cv2的智能提示功能可用,但是这句话却没有导入cv2模块,不知道什么原因 import tensorflow as tf import tensorflow.contrib as contrib #这句话表示让contrib的代码自动补全功能可用,不知道为啥,比如输入contrib.等一会后面就会自动提示出现很多方法,但是输入tensorflow.contrib.却没有任何反应

  • 解决Pycharm 中遇到Unresolved reference 'sklearn'的问题

    解决方法: 在编程过程中,遇到很多错误,提示都是unresolved reference,在进行先关搜素后,从stackoverflow上的相关问题得到启发,具体步骤如下: 1.点击菜单栏上的File -> Setting ->Build,Executing,Development ->Console -> Python Console 2.将Add source roots to PYTHONPATH勾选上 3.点击Apply 4.ok 5.file -> 清除缓存并重启

  • 在pycharm中显示python画的图方法

    问题描述 在电脑中重新安装Anaconda3&PyCharm后,运行原来的程序画图时出现了下图界面. 不能弹出如下图所示的"figure"窗口. 解决方法: 这是因为PyCharm在Sciview中开放它.具体操作步骤如下所示: 1."File->Settings",打开Settings窗口. 2.找到"Python Scientific",去除右边候选框中的勾号. 重新运行后就可以出现"figure"窗口了.

  • 解决PyCharm同目录下导入模块会报错的问题

    在PyCharm2017中同目录下import其他模块,会出现No model named ...的报错,但实际可以运行 这是因为PyCharm不会将当前文件目录自动加入source_path. 在当前目录右键make_directory as-->Sources Root python导入模块 同一目录下在a.py中导入b.py import b 或者 from b import 方法/函数 不同目录下在a.py中导入b.py import sys sys.path.append('b模块的绝

随机推荐