linux源码编译安装OpenCV
为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上。先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以类比安装。此文针对,有一点Linux常识(会使用终端)的读者。
源代码准备
如果不想在安装过程中,一步步的下载、编译、安装,可以先一次性下载完需要用到的源代码。
X264: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
FFMPEG: http://ffmpeg.org/download.html
V4L:www.linuxtv.org/downloads/v4l-utils/
OpenCV:http://opencv.org/
1、安装必要的工程构建程序
在终端中执行以下命令:
sudo apt-get install g++ gfortran gdb cgdb checkinstall cmake build-essential
如果遇到“do you want to continue?”时,输入Y,敲击回车。
2、安装gstreamer
在终端中执行如下命令:
sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev gstreamer0.10-tools gstreamer0.10-plugins-base libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad
如果遇到“do you want to continue?”时,输入Y,敲击回车。
3、删除系统上安装的任何ffmepg和x264
在终端中执行如下命令:
sudo apt-get remove ffmpeg x264 libx264-dev
4、为源码安装ffmpeg和x264准备依赖库
在终端中执行如下命令:
sudo apt-get install git libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev libjpeg8 libjpeg8-dev
如果遇到“do you want to continue?”时,输入Y,敲击回车。
5、安装最新的x264
下载最新x264的源码,下载地址:ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
如果也可以直接执行如下命令:
wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/last_stable_x264.tar.bz2
如果上面的命令未能成功下载的话,必须用那个链接去手动下载。
将下载的文件解压,进入解压后的目录,执行如下命令:
./configure --enable-shared --enable-pic
执行如下命令,完成编译:
make
编译完成后,执行如下命令,完成安装:
sudo make install
6、安装最新的ffmpeg
下载最新的ffmpeg源码,下载地址:http://ffmpeg.org/download.html
将下载的源码解压,进入解压目录,执行如下命令:
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-shared --enable-pic
如果执行成功,执行如下命令,进行编译:
make
待编译完成后,执行如下命令,安装:
sudo make install
7、安装v4l
下载最新的v4l,下载地址:www.linuxtv.org/downloads/v4l-utils/
下载完成后,解压源码压缩包,进入解压目录,执行如下命令:
./configure ; make ; sudo make install
注意最后要输入密码,如果不提醒输入密码,就算了。
8、安装cmake-curses-gui
执行如下命令:
sudo apt-get install cmake-curses-gui
9、安装gnome-core-devel
执行如下命令:
sudo apt-get install gnome-core-devel
10、安装OpenCV
下载最新的OpenCV源代码,下载地址:http://opencv.org/
下载后,解压压缩包(unzip),进入解压目录,执行如下命令以创建build目录
mkdir build; cd build; ccmake ../
执行完上述命令后,会出现ccmake的界面,然后在键盘上按下c键,然后ccmake就会去查看你的编译环境的。
等cmake检查完后,根据出现的内容,选择合适的选项,比如如果你没有cuda或者opencl的话,可以将与这些信息有关的项都设置成off。
建议以下项保持为ON
BUILD_DOCS BUILD_EXAMPLES INSTALL_C_EXAMPLES WITH_GSTREAMER WITH_JPEG WITH_GTK WITH_PNG WITH_FFMPEG WITH_V4L
设置完成后,敲击键盘上的g键,待cmake退出后,执行下面的命令以完成编译:
make
这个编译过程可能需要一段时间,耐心等待一会,你可以用这段时间看看书,喝点水。
待编译完成后,最后一个命令:
sudo make install
总结
编译安装OpenCV可能会花不少时间,各位一定要耐心点。网络如果比较差,可以先提前把需要的代码都下载下来。不幸的是,至于依赖项的安装是不得不(或者说很难做到)不需要网络的,这个过程如果需要的时间太常的话,只能在下载和安装的过程中,多看点书,多喝点水了。:(
linux源码编译安装OpenCV的更多相关文章
- [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程
标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...
- Linux源码编译安装httpd
Linux安装软件采用源码编译安装灵活自由,适用于不同平台,维护也十分方便. 源码编译的安装方式一般由3个步骤组成: 1.配置(configure) 2.编译(make) 3.安装(make inst ...
- Linux 源码编译安装软件
程序包编译安装的步骤: 源代码-->预处理-->编译-->汇编-->链接-->执行 多文件:文件中的代码之间,很可能存在跨文件依赖关系 1.编译源码的项目工具 使用相关的 ...
- Linux源码编译安装程序
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- Linux源码编译安装MySQL5.7
目录[-] 一.环境准备: 二.升级系统: 三.做一些准备工作(以下Linux命令均在su到root用户操作): 四.开始编译安装mysql-5.7.9: 一.环境准备: 我尝试过以下环境都是能成功的 ...
- Linux源码编译安装php7.2
以下简单的介绍下如何源码安装PHP,对于版本不一定是7.2,也可以是7.3,当然方法都是换汤不换药的,核心东西不变. 一.下载PHP源码 需要到指定的路径下载源码,执行下面的命令 wget http: ...
- 部署maria数据库到linux(源码编译安装)
maria数据库是mysql原作者另外开发的一个版本,使用方法和mysql一样,可以直接用mysql的库连接. 在这下载包并解压: https://mariadb.org/download/ 建立数据 ...
- linux源码编译安装php出现 cannot find -lltdl
原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcry ...
- Linux源码编译安装php7.3
---恢复内容开始--- ps:一切从简 一.安装所需环境 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel ...
随机推荐
- 用DotTrace 来分析.NET-Core程序
1. 前言 看园子里面讲dotTrace 的文章不多,最近也有这方面的需要,于是去搜索了一下,.NET 性能分析方面的工具.目的呢,主要是想发现我的代码中,哪些代码占用了最多时间,来进行优化.主要 ...
- 计蒜客NOIP模拟赛4 D1T3 小X的佛光
小 X 是远近闻名的学佛,平日里最喜欢做的事就是蒸发学水. 小 X 所在的城市 X 城是一个含有 N 个节点的无向图,同时,由于 X 国是一个发展中国家,为了节约城市建设的经费,X 国首相在建造 X ...
- bzoj 1558: [JSOI2009]等差数列
Description Solution 把原数组变为差分数组,然后剩下的就十分显然了 区间查询用线段树维护 修改操作就是区间加法和两个单点修改 一个等差数列实际上就是 开头一个数字+数值相等的一段 ...
- 4517: [Sdoi2016]排列计数
Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...
- 洛谷P3168 [CQOI2015]任务查询系统
#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #in ...
- 【NOIP2016】换教室
题目描述 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 i ( 1≤ i≤n)个时同段上, 两节内容相同的课 ...
- 【AHOI2005】病毒检测
题目描述 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地. 科学家们经过几 ...
- C++多态实现原理
C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数.如果对象类型是派生类,就调用派生类的函数:如果对象类型是基类 ...
- Mac上安装brew 包管理工具
Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...
- 分布式改造剧集之Redis缓存采坑记
Redis缓存采坑记 前言 这个其实应该属于分布式改造剧集中的一集(第一集见前面博客:http://www.cnblogs.com/Kidezyq/p/8748961.html),本来按照顺序 ...