Ubuntu下安装与卸载opencv模块
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>
改成
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模块的更多相关文章
- ubuntu下安装与卸载qt的方法
http://blog.csdn.net/huyisu/article/details/24014407 ubuntu下安装与卸载qt的方法 分类: linux 2014-04-18 14:20 18 ...
- Ubuntu下安装与卸载Nginx
1.Ubuntu下安装Nginx比较简单 敲入下列命令即可: sudo apt-get update sudo apt-get install nginx 2.Ubuntu下卸载,稍不注意就会入坑 s ...
- Ubuntu下安装、卸载notepad++
Ubuntu下的安装方法: sudo add-apt-repository ppa:notepadqq-team/notepadqq sudo apt-get update sudo apt-get ...
- Meth | ubuntu下安装与卸载软件方法
1.通过deb包安装的情况: 安装.deb包: 代码:sudo dpkg -i package_file.deb反安装.deb包:代码:sudo dpkg -r package_name 2.通过ap ...
- ubuntu下安装与卸载软件方法
http://www.cnblogs.com/JamyWong/archive/2009/11/19/1606442.html 1.通过deb包安装的情况:安装.deb包:代码:sudo dpkg - ...
- Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤
启用 Mod_rewrite 模块:sudo a2enmod rewrite 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/a ...
- Debian/Ubuntu下安装Apache的Mod_Rewrite模块的步骤分享
启用 Mod_rewrite 模块:sudo a2enmod rewrite 另外,也可以通过将 /etc/apache2/mods-available/rewrite.load 连接到 /etc/a ...
- ubuntu下安装配置OpenCV
Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...
- Ubuntu下安装软件、卸载
Ubuntu下安装软件.卸载 一般的安装程序有三种: .deb和.rpm这2中安装文件 .boudle这是二进制安装文件 .tar.gz文件是压缩包,与.rar和.zip压缩包一样,安装此类文件需要先 ...
随机推荐
- 牛客网CSP-S提高组赛前集训营Round4
牛客网CSP-S提高组赛前集训营 标签(空格分隔): 题解 算法 模拟赛 题目 描述 做法 \(BSOJ6377\) 求由\(n\)长度的数组复制\(k\)次的数组里每个连续子序列出现数字种类的和 对 ...
- SQL盲注学习-时间型
本次对时间型盲注进行学习,还是的使用sqli-labs环境. 首先看一下时间型盲注需要用到的: 1.if()函数 if(a,b,c) 如果a为真则执行b,否则执行c.如图,由于1=1为真所以执行第 ...
- Micro Benchmark Framework java 基准测试类库
Micro Benchmark Framework 框架主要是method 层面上的 benchmark,精度可以精确到微秒级 比较典型的使用场景还有: 想定量地知道某个函数需要执行多长时间,以及执行 ...
- Android Studio中每次打开工程Gradle sync龟速解决办法
问题描述 自己使用android studio后,发现每次一打开工程,软件就在Grandle sync.sync就算了,而且这个步骤还必须过TZ,并且时间超级长,可能睡完觉起来还没有下载好.下面是正在 ...
- 远程桌面无法连接 提示不支持FIPS安全级别的解决方法
远程桌面可以通过网络连接到另一台电脑进行操作,可以方便在家操作公司电脑.但是到了这个新公司却出现了一个问题,提示客户端无法建立跟远程计算机的连接,我的天,要命了. 远程桌面无法连接错误提示 仔细一看说 ...
- 【Gamma阶段】第三次Scrum Meeting
冰多多团队-Gamma阶段第三次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 卓培锦 修改可移动button以及button手感反馈优化 编辑器风格切换(夜间模式) 牛雅哲 添加优化算法 ...
- 记一次netty http server给客户端返回reset包排除
类似文章:解决用netty去做web服务时,post长度过大的问题 现象:当客户端给server发送的请求体较大时,服务直接给客户端返回reset包. tcpdump: 应用还没有完全收上去,就clo ...
- MySQL索引原理(一)
MySQL索引原理 索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能需 ...
- unzip解压失败( cannot find zipfile directory)
本文链接:https://blog.csdn.net/yori_chen/article/details/80493383[root@localhost soft]# unzip QY.zip Arc ...
- epool与select有什么区别
select在一个进程中打开的最大fd是有限制的,由FD_SETSIZE设置,默认值是2048.不过 epoll则没有这个限制,它所支持的fd上限是最大可以打开文件的数目,这个数字一般远大于2048, ...