环境1. 安装opencv到任意文件夹2.c++检测3.python检测4.下载支持python3.6的opencv3.4.95.添加路径到python6.测试
环境ubuntu 16.0.4 + python3.6 +ros + c++ +opencv3.4.9 + python2.7
1. 安装opencv到任意文件夹安装opencv
安装完后进行检测
2.c++检测cd ../sample/cpp/ g++ drawing.cpp -o drawing `pkg-config opencv --libs --cflags` ./drawing
此时可以出现宣传视频
3.python检测python >>> import cv2 > Traceback (most recent call last): File "", line 1, in importError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
报错!
查阅资料后说是要删除python2.7的路径,添加完opencv后再加上python2.7的路径。好~
import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv2
#sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
>
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'cv2'
依旧报错,怀疑是我下载的python3.6包路径中未加入cv2故强行在.bashrc 中加入一句:
其中 python2.7是我在 opencv/lib中无意找到的,当我看到2.7的瞬间 我就意识到不妙!
于是:
很好,不出意料地报错了,因为我是python3.6的版本啊!opencv3.4.9我在官网下载的,似乎是只支持2.7。于是我又试了一下:
果然。。。tnnd,没办法只能再重新下载支持python3.6版本的opencv
只支持python的opencv下载链接,点我!
官网的opencv3.4.9只支持c++和python2.7,故只下载一个支持python3.6的cv2就够啦!
下载完后,直接cd到下载的文件夹下 pip安装即可,注意pip的安装地址哦!
安装成功!
如果此时在python环境下导入cv2的话肯定会报错,故添加路径到.bashrc中
由步骤4知道 opencv 大概pip到了哪个位置,故寻找之
因此添加site-packages
注意 要把步骤3 的路径删掉或注释掉
或许以后还能用得到,,不过我感觉几率很小。
保存
成功
至此python和c++都可以用opencv3.4.9啦!
可以开心地搞科研了!



