第一步:准备工作,安装需要的包:
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev 【或者 apt-get install libgtk2.0】--注意否则会另显示窗口有问题 ,如果没有找到 apt-get upgrade,apt-get install libgtk3.0
sudo apt-get install pkg-config
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
[注]:ffmpeg和libav开发需要的包:libavcodec-dev,libavformat-dev,libswscale-dev
如果没有找到一些包
#apt-get upgrade
第二步:
下载OpenCV3.2的源码,解压之后的目录:
新建release文件夹:
#mkdir release
进入 release文件夹:
#cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..
上述命令根据 CMakeLists.txt,生成一些文件
下载OpenCV的源码,以opencv-2.4.9为例,
ubuntu下解压文件的命令
- 对于后缀是.tar.bz2的文件,解压:tar jxvf FileName.tar.bz2
- 对于后缀是.zip的文件,解压: unzip file.zip
- 对于后缀是.tar.gz的文件,解压:tar zxvf FileName.tar.gz
- 对于后缀是.gz的文件,解压 gzip -d FileName.gz
第三步(安装路径/usr/local/opencv):
cd opencv-2.4.9.
mkdir release
cd release
//cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..(注意后面的两个点代表让cmake从 release的上一层目录寻找CmakeList.txt)
-D BUILD_opencv_world=on
【分析】
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local/opencv
第四步:
make
sudo make install
___________________________________________________________________________________________________________________________________
配置环境变量:
sudo gedit /etc/ld.so.conf
在文件末尾添加:/usr/local/opencv/lib
sudo ldconfig
第一种方法:
sudo gedit /etc/bash.bashrc
在文件的末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc
不需要重启就可以生效。
echo $PKG_CONFIG_PATH
pkg-config --libs opencv
pkg-config --cflags opencv
[注意:opencv.pc下,有两个一个是Libs,有一个是Cflags]
【以下利用pgk-config方面编译的时候,指定头文件、共享库路径、共享库名称】
敲入以下命令会提示你配置 环境变量 PKG_CONFIG_PATH
第二种方法:
sudo gedit /etc/profile
在文件的末尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/profile
但是需要重启以后才可以生效。
—————————————————————————————————————————————————————————————————————————————
g++ a.cpp `pkg-config --libs --cflags opencv` -o ao
(特别注意:第一点,不是单引号,是 键盘上 1前面的的 符号,第二点:#include<opencv2 / core/core.hpp> 注意斜线的方向)
在linux系统的终端输入:
$ pkg-config --cflags opencv
-I /usr/local/opencv/include/opencv -I /usr/local/opencv/include
编译时需要的头文件
$pkg-config --libs opencv
/usr/local/opencv/lib/libopencv_calib3d.so /usr/local/opencv/lib/libopencv_core.so
编译时需要的链接库
--------------------linux下怎么使用上述生成的 ao文件-------------------------
必须把编译生成的opencv的.a或者.so静态库和动态库的路径,比如[/home/opencv/lib],配置到 /etc/ld.so.conf,在该文件末尾,添加路径,"/home/opencv/lib"。这样./ao就可以找到动态链接库
$./ao
---------------------------关于cmake下调用opencv---------------------------
在安装目录,这里安装目录是/usr/local/opencv,以这个为例子,
在/usr/local/opencv/share/OpenCV下,有一个OpenCVConfig.cmake的文件。里面有详细调用OpenCV的过程。
配置系统环境变量,在配置文件中/etc/profile文件中,追加以下内容:
export PATH=/usr/local/cuda/bin:/usr/local/opencv/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/opencv/lib:$LD_LIBRARY