1.安装opencv网上搜索ubuntu16.04下安装opencv4肯定搜到一大堆编译源码安装opencv的教程。其实安装opencv只需要一句话命令:pip3installopencv-python说实话,我真的很不想理解为什么那么多人要编译源码安装。..2、在python3.6中导入opencv库,在终端输入python3.6,然后输入importcv2,报错:importError:/opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so原因是我之前安装了ROS,ROS默认的python版本是2.7。这个问题是ROS在python路径下添加了/opt/ros/kinetic/lib/python2.7/dist-packages导致的。解决方法:打开.bashrc文件gedit~/把.bashrcsource/opt/ros/kinetic/setup.bash最后这句话注释掉,使环境变量在当前终端source~/.bashrc生效,这样python3的opencv包可以正确使用,source/opt可以取消注释/ros/kinetic/setup.bash来使用ROS。不过,这确实意味着ROS和python3不能在同一个环境下使用。不过ROS1目前只支持python2,在引入python3之前ROS2.0应该也支持了。导入opencv后查看opencv版本:print(cv2.__version__)output:4.2.03.Python3.6虚拟环境下导入cv2及遇到的问题。首先在虚拟环境中导入opencv,需要链接到opencv的路径。执行命令找到cv2.cpython-36m-x86_64-linux-gnu.so的位置:sudofind/-namecv2.cpython-36m-x86_64-linux-gnu.so后,将虚拟环境中的opencv链接到上述文件的路径,例如:cd.virtualenv/py36env/lib/python3.6/site-packagessudoln-s~/.local/lib/python3.6/site-packages/cv2/cv2.cpython-36m-x86_64-linux-gnu.socv2.so或者直接将上面的文件复制到虚拟环境中的包路径(site-packages)也可以。执行以上步骤后,进入虚拟环境,启动python3.6。importcv2遇到如下问题ModuleNotFoundError:Nomodulenamed'cv2'。原因有很多。以下方法可以解决:(1)安装opencv的contrib库pipinstallopencv-contrib-python(2)安装python-opencvsudoapt-getinstallpython-opencv(3)将cv2.so复制到python所在路径系统默认安装,如/usr/local/lib/python3.6/dist-packages/cv2/cv2.so
