opencv安装

因工程需要,想在python中调用opencv

import cv2

现在记录一下如何在Linux系统(ubutun)下安装该模块:

参考了一篇博客:http://blog.csdn.net/tengxing007/article/details/54380732

在自己的电脑上安装成功,现记录一下安装过程:

step1:

去opencv官网现在zip包:

https://opencv.org/opencv-3-3.html

下载后unzip解压

step2:

cd到解压后的目录下,在该目录下mkdir build目录,然后cd build

step3:

安装opencv需要依赖很多其他的模块:

例如 sudo apt-get -y install  build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils...
根据自己之前已经安装过的模块,选择没有装过的进行安装。

step4:

#编译

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

编译的过程中可能会报一些模块没有找到,需要针对性的安装。

注:红色标记的路径很重要,可以使得后续装opencv的其他版本共存。

step5:

#安装
make  -j4
sudo make install

注意事项:

1. 若系统已装过cuda,不指定 -D WITH_CUDA=OFF ,opencv默认安装带GPU的opencv。

2. 安装opencv2.4.13遇到的坑:

编译过程中报

[..]/modules/contrib/src/rgbdodometry.cpp:65:47: fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

解决办法:https://answers.opencv.org/question/7666/build-failure-244-unsupportedeigenmatrixfunctions/

rgbdodometry.cpp第65行

include <unsupported/Eigen/MatrixFunctions>

改成

include <eigen3/unsupported/Eigen/MatrixFunctions>

3. 解决OpenCV版本冲突问题:libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_imgcodecs.so

 
编译工程的时候报:
/usr/bin/ld: warning: libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_core.so.2.4

解决办法:这显然是两个版本同时,链接时不知道找哪个.3.4是自己编译的,2.4是系统自带的,删除: sudo apt-get autoremove libopencv-dev 提醒:
以后千万别按照别人的说明apt-get安装libopencv-dev,一定要小心,特别是已近安装了opencv,不然后面编译代码会各种链接不上。 4. 报错:error: No rule to make target '/usr/lib/libOpenNI.so', needed by 'bin/euroc_rectify'。 停止。
解决方法:

这类问题的出现说明程序在编译时,CMakeLists.txt 文件没有找到OpenNI.so, 即 Pangolin库未安装或破损。

重新安装pangolin库即可。

遇到编译工程时ld出现问题的总结:不要随便opt-get install软件,特别是自己电脑通过其他途径已经安装了的,不然会出现各种连接出错!!!! 

5. python2.7 import cv 报找不到模块的问题
出现“No module named cv2”,原因就是python找不到cv2.so文件,我们进入路径/usr/local/lib/python2.7中发现有两个文件夹,
一个是dist-package,一个是site-package,python默认只在前者里搜索,而我们生成的cv2.so文件则在我们的安装目录"../../opencv3.3.0/build"中
(还记得这个目录吧,就是我们安装opencv过程中建的那个目录),我们只需要简单的将它移动到dist-package文件夹即可。
后续有更好的解决方法再更新

opencv卸载

找到当初安装 opencv3.3.1 的 build 目录,进入 build 目录

cd /home/***/opencv/build

sudo make uninstall

cd ..

sudo rm -r build

然后清理 /usr 中所有 opencv 相关项 

sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
cd /usr
find . -name "*opencv*" | xargs sudo rm -rf cd /home/***
chmod a+x /home/***/opencv
rm -r /home/***/opencv
 

Ubuntu下安装与卸载opencv模块的更多相关文章

  1. ubuntu下安装与卸载qt的方法

    http://blog.csdn.net/huyisu/article/details/24014407 ubuntu下安装与卸载qt的方法 分类: linux 2014-04-18 14:20 18 ...

  2. Ubuntu下安装与卸载Nginx

    1.Ubuntu下安装Nginx比较简单 敲入下列命令即可: sudo apt-get update sudo apt-get install nginx 2.Ubuntu下卸载,稍不注意就会入坑 s ...

  3. Ubuntu下安装、卸载notepad++

    Ubuntu下的安装方法: sudo add-apt-repository ppa:notepadqq-team/notepadqq sudo apt-get update sudo apt-get ...

  4. Meth | ubuntu下安装与卸载软件方法

    1.通过deb包安装的情况: 安装.deb包: 代码:sudo dpkg -i package_file.deb反安装.deb包:代码:sudo dpkg -r package_name 2.通过ap ...

  5. ubuntu下安装与卸载软件方法

    http://www.cnblogs.com/JamyWong/archive/2009/11/19/1606442.html 1.通过deb包安装的情况:安装.deb包:代码:sudo dpkg - ...

  6. Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤

    启用 Mod_rewrite 模块:sudo a2enmod rewrite 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/a ...

  7. Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤分享

    启用 Mod_rewrite 模块:sudo a2enmod rewrite 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/a ...

  8. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...

  9. Ubuntu下安装软件、卸载

    Ubuntu下安装软件.卸载 一般的安装程序有三种: .deb和.rpm这2中安装文件 .boudle这是二进制安装文件 .tar.gz文件是压缩包,与.rar和.zip压缩包一样,安装此类文件需要先 ...

随机推荐

  1. swift的类型系统

    顶级抽象:protocol 具体类型:值类型.引用类型 类型操作:扩展 其他: 范型.函数式类型:function.monand

  2. 【luogu 5395】 【模板】第二类斯特林数·行

    code: #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in", ...

  3. 自制Amiibo 踩坑/填坑 指南

    去年买了台老版NS,后来得知有Amiibo这种东西的存在,但是学校附近都买不到. 再后来网上看见有人在X宝卖自制卡片,就寻思着是否能自己 DIY一套,于是掉坑里. 要想使用自制Amiibo,一共要做两 ...

  4. [原创]App弱网测试方法介绍

    [原创]App弱网测试方法介绍 1 什么是弱网? 弱网就是在非正常网络状态下,用户在访问网络时遭遇到网络延迟或是丢包,造成使用产品时用户体验不佳或反感的场景. 2   为什么要进行弱网测试 简而方之, ...

  5. [技术博客] 如何避免在代码中多重render

    目录 问题发现 方案1 extracted_method and return(父函数and return法) 方案2 子函数yield,父函数调用后{return} 方案3 extracted_me ...

  6. 第08组 Beta冲刺(1/4)

    队名 八组评分了吗 组长博客链接(2分) 小李的博客 作业链接 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 12月3号了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任 ...

  7. 剑指offer:把数组排成最小的数

    题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路分析: ...

  8. html在div中显示滚动条

    基本思路:滚动条要添加到内容部分的父标签上(div),内容部分不设置大小,父标签要明确设置大小,并且父标签要添加overflow样式,并设置成auto. 打开的效果如下: 这时可能有人会问,父div的 ...

  9. 颜色空间模型(HSV\LAB\RGB\CMYK)

    通过Photoshop的拾色器,我们知道表征颜色的模型的不止一种,本文将系统并且详细讨论这四种模型(HSV.LAB.RGB和CMYK)之间的联系以及应用.本文部分章节整合了多位优秀博主的博客(链接见本 ...

  10. Java13新特性 -- 新增 移除 废弃 已知问题等

    新增 添加FileSystems.newFileSystem(Path, Map<String, ?>) Method 新的java.nio.ByteBuffer Bulk get/put ...