吐槽:
这一天我终于记起了这个博客。今天搞python环境下的opencv,又弄了一天,很烦躁。之前配置VS的opencv也是花了好久的时间,然后突然发现之前记录在电脑上的文档都找不到了,于是决定还是写写博客吧,之后应该会把之前做过的一些东西也发上来,以作保存。这篇兴致所作,写的就随意些了。
环境:
直接上环境。
操作系统:win7 64位
语言:python3.6.3
库:opencv-python-3.4.3.18, opencv-contrib-python-3.4.3.18
IDE: PyCharm
安装:
其实python下安装opencv相当简单,直接用pip安装就行了
pip3 install opencv-python
安装好后,随意写了个简单的demo可以用了
importcv2if __name__ == '__main__':
video= cv2.VideoCapture("seq_hotel.avi")
ok, frame=video.read()ifok:
cv2.imshow("tracker", frame)whileTrue:
ok, frame=video.read()ifok:
cv2.imshow("tracker",frame)
k= cv2.waitKey(1) & 0xff
if k == 27:break
装这个本来是要试一下python下opencv的tracker的,运行发现提示cv2 'module' object has no attribute 'Tracker_create',之前有用过c++的,所以知道是少了contrib,于是,继续pip
pip3 install opencv-contrib-python
这样配置后,代码可以运行了(其实并不可以,这里很奇怪,按理来说,应该没什么问题,pycharm下配置Interpreter也ok了,但是不知道我哪一步误操作了,然后我把opencv都uninstall了,在https://www.lfd.uci.edu/~gohlke/pythonlibs/上下了对应版本的opencv_python-3.4.4+contrib-cp36-cp36m-win_amd64.whl安装,也是通过pip安装,之后代码就可以运行了,但是真正的坑才开始)
Tracker的代码跑起来了,很开心,但是发现pycharm关于cv2没有代码提示,这不能忍啊!于是开始了漫长的搜索之旅。查了发现几乎都是用Anaconda,然而我不是很喜欢用它啊,但看到这篇https://blog.csdn.net/qq_36735489/article/details/82110972感觉有点靠谱,虽然好像也是Anaconda的,不过没关系,python安装目录下也有Lib\site-packages,在这下面找到cv2\__init__.py改一下嘛。居然没有!!!然后我又花了半天时间查,最后没找到解决办法,决定重装原来的opencv,于是卸了再装,之后,发现有\Lib\site-packages\cv2这个目录,找到__init__.py,修改如下:
importsysimportosimportimportlib
os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))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__)
之后,测试代码自动提示,成功
结束