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_PNG
WITH_QT
WITH_FFMPEG
WITH_V4L 

设置完成后,敲击键盘上的g键,待cmake退出后,执行下面的命令以完成编译:

make

这个编译过程可能需要一段时间,耐心等待一会,你可以用这段时间看看书,喝点水。

待编译完成后,最后一个命令:

sudo make install

总结

编译安装OpenCV可能会花不少时间,各位一定要耐心点。网络如果比较差,可以先提前把需要的代码都下载下来。不幸的是,至于依赖项的安装是不得不(或者说很难做到)不需要网络的,这个过程如果需要的时间太常的话,只能在下载和安装的过程中,多看点书,多喝点水了。:(

时间: 2024-10-18 23:05:21

linux源码编译安装OpenCV的相关文章

linux源码编译安装php出现 cannot find -lltdl

原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcrypt,那么需要安装libltdl libltdl在libmcrypt软件包中就有,具体过程: #cd /software/libmcrypt-2.5.8/libltdl #./configure –enable-ltdl-install #make #make install 这个时候再回到php的

Linux 源码编译安装 MySQL 5.5.x

Linux 环境:CentOS 6.5 MySQL 版本:5.5.20,附下载地址:[点击下载] 1.安装cmake MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具. 因此,我们首先要在系统中源码编译安装cmake工具. 下载 cmake [[email protected] soft]# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz 解压 [[email protec

SUSE Linux源码编译安装MySQL 5.6

这篇文章主要介绍了SUSE Linux下源码编译方式安装MySQL 5.6过程分享,本文使用SUSE Linux Enterprise Server 10 SP3 (x86_64)系统,需要的朋友可以参考下.MySQL为开源数据库,因此可以基于源码实现安装.基于源码安装有更多的灵活性.也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编译参数,选择自身需要选择不同的安装组件,设定需要的字符集等等一些可以根据特定应用场景所作的各种调整.本文

Linux源码编译安装和卸载

Linux下正常的编译安装/卸载 源码的安装一般由3个步骤组成: 配置(configure) 编译(make) 安装(make install). configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表. 其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,

Linux源码编译安装程序

一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档 二.linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /bin, /sbin, /lib  :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上 /usr/bin,/usr/sbin,/usr/li

Linux 源码编译安装curl

系统环境:Ubuntu 环境编译安装curl 开始编译安装 [email protected]:~$ mkdir curl [email protected]:~$ cd curl/ [email protected]:~/curl$ tar xf curl-7.51.0.tar.gz  [email protected]:~/curl$ cd curl-7.51.0/ [email protected]:~/curl/curl-7.51.0$  [email protected]:~/curl

Linux源码编译安装nginx

ps:一切从简 一.安装所需环境: yum -y install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel 二.下载及安装nginx 1.下载nginx:wget http://nginx.org/download/nginx-1.8.1.tar.gz 2.解压nginx: tar -xzf nginx-1.8.1.tar.gz 3.添加用户组:groupadd www.useradd -

Linux源码编译安装php7.3

---恢复内容开始--- ps:一切从简 一.安装所需环境 yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libzip-devel pcre-devel 二.下载及安装nginx 1.下载php wget http://cn2.php.net/distributions/php-7.3.3

部署maria数据库到linux(源码编译安装)

在这下载包并解压: https://mariadb.org/download/ 建立数据库文件夹,并分配给www账户: mkdir  /home/mariadb chown -R www:www /home/mariadb 编译: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mariadb -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STO